3.客户端渲染与服务端渲染

客户端渲染

客户端渲染的流程:

  1. 在浏览器向服务端请求某个URL地址。
  2. 服务端响应对应URL地址的HTML页面给浏览器(本质上响应的是页面中的字符串)。—>第一次请求拿到的是页面
  3. 浏览器收到服务端响应的HTML页面。浏览器从上到下依次解析HTML语句。
  4. 解析的过程中如果发现ajax请求则再次发起新的请求,向服务端请求数据。
  5. 服务端返回响应数据。—>第二次请求拿到的是动态接口数据
  6. 浏览器拿到响应数据进行模板引擎渲染。

服务端渲染

  • 就是在服务端使用模板引擎
  • 模板引擎最早诞生于服务端,后来才发展到了前端
  • 服务端渲染的流程:
    1. 在浏览器向服务端请求某个URL地址—>服务端渲染只请求一次
    2. 服务端找到并读取对应URL地址的HTML页面
    3. 服务端进行模板引擎渲染,在发送给客户端之前就已经把HTML页面解析渲染处理了。var 渲染结果 = template.render(模板字符串, {解析替换对象})
    4. 服务端将渲染过后的HTML响应给浏览器呈现。response.end(渲染结果)
      (*服务端渲染响应的就是最终结果,客户端不需要再做任何处理)

服务端渲染和客户端渲染的区别

  • 客户端渲染不利于 SEO 搜索引擎优化,服务端渲染是可以被爬虫抓取到的,客户端渲染很难被爬虫抓取到。所以你会发现真正的网站既不是纯异步也不是纯服务端渲染出来的,而是两者结合来做。
  • 客户端渲染可以进行局部加载,先加载页面后加载内容,用户体验较好。服务端渲染需要刷新URL网址,相对用户体验没那么好。

例如,京东的商品列表就采用的是服务端渲染,目的是为了 SEO 搜索引擎优化。而它的商品评论列表为了用户体验,而且不需要 SEO 优化,所以采用客户端渲染。`

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容