服务端渲染基础

本文探讨了SPA(单页面应用)的优缺点,如用户体验好、开发效率高,但首屏渲染慢且不利于SEO。同构应用通过服务端渲染首屏解决这些问题,同时保持客户端渲染的交互优势。然而,同构应用带来了额外的开发挑战和服务器负载。建议根据项目需求权衡服务端渲染的重要性及SEO需求。
摘要由CSDN通过智能技术生成
SPA单页面应用
  • 优点
    • 用户体验好、开发效率高、渲染性能好、可维护性好…
  • 缺点
    • 首屏渲染时间长,不是服务端渲染好,是js在客户端生成html
    • 不利于seo,搜索引擎爬取html内容时,单页面的html没有内容,需要js解析完才能生成网页内容
同构应用
  • 在服务端执行前端框架代码生成网页内容,返回给客户端,客户端只需负责展示
  • 通过服务端渲染首屏直出,解决spa应用首屏渲染过慢以及不利于seo的问题
  • 通过客服端渲染接管页面内容交互得到更好的用户体验
  • 这种方式通常称之为现代化的服务端渲染,也叫同构渲染
  • 这种方式构建的应用称之为服务端渲染应用或者是同构应用
渲染
  • 把数据和模板拼接到一起,本质:字符换的解析替换
传统服务端渲染
  • 网页复杂时带来的缺点
    • 前后端代码完全耦合在一起,不利于开发维护
    • 前端没有足有的发挥空间
    • 服务端压力大
    • 用户体验一般(访问每个页面都要刷新)
客户端渲染
  • ajax使得客户端动态获取数据称为可能
  • 后端负责处理数据接口
  • 前端负责将接口数据渲染到页面中
  • 前端更为独立,不在受后端限制
  • 不足
    • 首屏渲染慢
    • 不利于seo
为什么客户端渲染慢(白屏)
  • 至少需要三次http请求周期
    • 请求html
    • 请求js脚本
    • 请求数据
  • 服务端渲染加载一次html即可
现代化服务端渲染
  • 同构渲染 = 后端渲染 + 前端渲染
  • 流程
    • 基于react、vue等框架,客户端渲染和服务端渲染的结合
      • 在服务端执行一次,用于实现服务端渲染
      • 在客户端再执行一次,用于接管页面
  • 核心解决seo和首屏渲染慢的问题
  • 拥有传统服务端渲染的有点,也有客户端渲染的优点
同构渲染应用的问题
  • 开发条件所限
    • 浏览器特定的代码只能在某些生命周期钩子函数中使用
    • 一些外部扩招库可能需要特殊处理才能在服务端渲染应用中使用
    • 不能在服务渲染期间操作dom
    • 某些代码操作需要区分运行环境
  • 涉及构建设置和部署的更多要求
    • 构建:客户端渲染仅构建客户端应用即可,同构渲染需要构建两个端
    • 部署:客户端可以部署到任意的Web服务器中,同构渲染只能部署在node.js Server
  • 更多的服务器负载
    • 在node中渲染完整的应用程序,相比仅仅提供静态文件的服务器需要大量占用cpu资源
    • 如果应用在高流量环境下使用,需要准备相应的服务器负载
    • 需要更多的服务端渲染优化工作处理
  • 服务端渲染使用建议
    • 首屏渲染速度是否真的重要
    • 是否真的需要SEO
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 服务端渲染(Server Side Rendering,简称 SSR)是一种将应用程序的 HTML 和 CSS 部分渲染到服务器端,再将渲染结果发送给客户端的技术。这样做的目的是为了提高首屏加载速度,并且在某些情况下改善 SEO。 传统的客户端渲染(Client Side Rendering,简称 CSR)技术中,客户端接收到的是一段空白的 HTML 文档,再通过 JavaScript 来动态渲染页面。这种方式对于用户体验来说不够优秀,因为首屏加载需要等待 JavaScript 执行完成。 服务端渲染的技术能够解决这个问题,因为客户端接收到的是一个完整的 HTML 文档,能够立即呈现。用户在操作页面时,再通过 JavaScript 来完成剩余的渲染和交互。 服务端渲染并不适用于所有场景,在选择是否使用 SSR 时需要考虑到应用程序的特定要求和需求。但对于需要提高首屏加载速度和改善 SEO 的应用程序来说,服务端渲染是一个不错的选择。 ### 回答2: 服务端渲染(Server-Side Rendering,简称SSR)是指在服务端动态生成页面内容,然后将渲染好的页面传输给浏览器进行展示的一种网页渲染技术。 传统的客户端渲染,即前端渲染,是指将数据请求发送给服务端,然后由浏览器的JavaScript代码异步获取数据,再将数据和模板进行渲染生成页面。这种渲染方式可以实现灵活的交互效果,但也存在一些问题,如首屏加载较慢、对搜索引擎的SEO不友好等。 而SSR则是在服务端生成完整的HTML页面,然后将渲染好的页面返回给浏览器展示。它的主要优点有: 1. 更快的首屏加载速度:由于服务端渲染页面时已经生成完整的HTML,用户在打开网页时能够立即看到内容,提高了页面的加载速度和用户体验。 2. 更好的SEO:由于搜索引擎爬虫主要是获取HTML内容进行分析,使用SSR能够保证搜索引擎能够正确的读取页面的内容,提高网站的搜索引擎排名。 3. 更好的可访问性:由于服务端渲染生成的页面已经包含了完整的内容和结构,相对于客户端渲染,能够更好地支持辅助功能和设备兼容性。 尽管SSR在首屏加载和SEO方面具有很大的优势,但也存在一些限制和挑战。比如对于复杂的交互和动态内容的处理较为复杂,需要更多的服务器负载和带宽资源。此外,SSR还需要考虑页面的缓存策略和更新机制,以保证渲染的页面始终能够与最新的数据保持同步。 总之,服务端渲染(SSR)是一种能够提高网页加载速度、改善SEO和可访问性的网页渲染技术。尽管它也有一些限制和挑战,但在某些场景下,特别是对于需要快速首屏加载和SEO友好的网站来说,SSR是一种值得采用的渲染方式。 ### 回答3: 服务端渲染(Server-Side Rendering,简称SSR)是指在服务器端进行网页内容的渲染,生成完整的HTML页面后再发送给客户端的一种网页渲染方式。相对于传统的客户端渲染(Client-Side Rendering,简称CSR),SSR具有以下特点: 1. SEO友好:由于搜索引擎爬虫只能解析HTML页面,传统的CSR渲染会导致搜索引擎无法获取到完整的页面内容。而使用SSR时,服务器端渲染出的HTML页面包含了完整的内容,有利于SEO优化和搜索引擎收录。 2. 更快的首次加载速度:在CSR中,页面初始化的过程需要先下载基础的HTML结构和JavaScript代码,然后再通过JavaScript请求并渲染数据,这个过程会产生较长的白屏时间。而SSR在服务器端就生成了完整的HTML页面,用户首次访问时可以直接加载这个HTML,减少首次加载时间。 3. 更好的用户体验:因为SSR在服务器端就渲染了完整的HTML页面,用户可以更快地看到网页的基本内容,提升了用户体验。而在CSR中,由于需要等待JavaScript的下载和执行,用户可能会出现闪动的页面或者突然出现的内容,造成用户体验不佳。 4. 兼容性好:由于SSR在服务器端渲染,不依赖于浏览器的特定功能或版本,对于不支持JavaScript或禁用JavaScript的浏览器仍然可以渲染出完整的页面。 5. 服务器压力较大:相对于CSR,SSR需要在服务器端进行页面渲染,因此对服务器的压力较大,特别是当网站的流量较大时。服务器需要消耗更多的计算资源和内存来渲染页面并返回给客户端。 总结来说,服务端渲染(SSR)通过在服务器端生成完整的HTML页面,提供了更好的SEO友好性、首次加载速度和用户体验,但增加了服务器的压力。它适用于对SEO要求较高、首次加载速度重要的网站。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值