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

Browser:

  1. 收到服务端响应的字符串了
  2. 从上到依次次解析,在解析过程中发现了ajax,则再次发起请求,
  3. 发请求
  4. 拿到ajax响应结果
  5. 模板引擎渲染

Note:第一次请求是拿到页面,第二次请求是拿到动态资源数据

缺点: 对SEO相当不友好

优点: 减轻了服务器端的渲染压力;同时,最大的好处就是:能够实现前后端分离开发;

Server:

  1. 读取index.html
  2. 模板引擎开始渲染,发送给客户端之前,就已经把index.html渲染处理了

Note:只请求了一次,服务端渲染,相应的结果就是最终的结果,客户端不需要做任何的处理

每当有客户端请求页面了,服务器先在后端调用art-template,把指定的页面预先在后端渲染后,然后通过res.end把这个渲染完毕的完整页面,

返回给客户端直接展示。

 优点:对SEO友好,因为我们经过服务器端渲染的页面,在网络中传输的时候,传输的是一个真实的页面。因此,爬虫客户端,当爬到我们的页面后,会分析我们给他提供的这个页面,此时,我们页面中的关键数据就会被爬虫给收录了。

缺点: 服务器端渲染,对服务器压力比较打,可以使用服务器端的页面缓存技术,减轻服务器的渲染压力;不适合前后端分离开发。


  • 客户端渲染不利于SEO搜索引擎优化
  • 服务端渲染是可以被爬虫抓取的,客户端异步渲染是很难被爬虫抓取的
  • 真正的网站既不是存异步,也不是存服务端渲染出来的,而是两者结合的
  • 例如京东的商品列表就是服务端渲染,目的是为了SEO搜索引擎优化,而他的商品评论为了用户体验。不需要优化,采用的客户端渲染

猜你喜欢

转载自blog.csdn.net/Gbing1228/article/details/88776325