客户端渲染
当此渲染为客户端渲染时,在客户端所进行的操作步骤如下所示:
- 收到服务端响应的字符串。
- 从上到下依次进行相关的解析,在解析的过程中,如果发现ajax请求,则再次发起新的请求。
- 拿到ajax响应的结果。
- 使用模板引擎进行渲染。
在客户端渲染中,其至少会发起两次请求。
- 第一次请求拿到相关的页面。
- 第二次请求拿到相关的动态数据。
优点:
页面显示速度比较快。
缺点:
内容的显示速度偏慢。
服务端渲染
在服务端读取相关所需渲染的页面文件,然后使用模板引擎渲染,在发送给客户端之前,服务端就已经将相关的页面进行了渲染处理了。
对于服务端渲染来说,只请求了一次。
缺点:
服务端压力变大,待需解析的内容越多,所进行解析的速度越慢。
客户端渲染和服务端渲染的区别
- 服务端渲染比客户端渲染更快。
- 客户端渲染与服务端渲染相比,客户端渲染能够更快的看到相关的页面,但是会有一个等待过程;而服务端渲染所进行渲染的就是直接的结果,客户端不需要再做任何处理。
- 客户端异步渲染是很难被爬虫抓取到的,爬虫爬不到相关的数据信息,不利于SEO搜索引擎优化。
- 服务端渲染可以被爬虫抓取到,即服务端渲染利于SEO搜索引擎优化。
客户端渲染和服务端渲染的判别方法
- 查看相关的网页源代码,如果在源代码中能够看到相关的数据,则表明其为服务端渲染。
- 查看相关的网页源代码,如果在源代码中不能够看到相关的数据,则表明其为客户端渲染,即其是随后在客户端动态追加的。
- 当请求新的数据信息时,页面没有进行刷新,则表明其是客户端渲染。
- 当请求新的数据信息时,页面进行了刷新,则表明其是服务端渲染。
- 若相关的数据请求是异步的,则表明其为客户端渲染。
客户端渲染和服务端渲染使用场景
- 需要考虑SEO搜索引擎优化,则使用服务端渲染。例如相关的商品希望被用户所搜索到。
- 不需要考虑到SEO搜索引擎优化,则使用客户端渲染。例如相关的评论为了用户体验,且不需要SEO优化。