客户端渲染
客户端渲染的流程:
- 在浏览器向服务端请求某个URL地址。
- 服务端响应对应URL地址的HTML页面给浏览器(本质上响应的是页面中的字符串)。
—>第一次请求拿到的是页面
- 浏览器收到服务端响应的HTML页面。浏览器从上到下依次解析HTML语句。
- 解析的过程中如果发现ajax请求则再次发起新的请求,向服务端请求数据。
- 服务端返回响应数据。
—>第二次请求拿到的是动态接口数据
- 浏览器拿到响应数据进行模板引擎渲染。
服务端渲染
- 就是在服务端使用模板引擎
- 模板引擎最早诞生于服务端,后来才发展到了前端
- 服务端渲染的流程:
- 在浏览器向服务端请求某个URL地址
—>服务端渲染只请求一次
- 服务端找到并读取对应URL地址的HTML页面
- 服务端进行模板引擎渲染,在发送给客户端之前就已经把HTML页面解析渲染处理了。
var 渲染结果 = template.render(模板字符串, {解析替换对象})
- 服务端将渲染过后的HTML响应给浏览器呈现。
response.end(渲染结果)
(*服务端渲染响应的就是最终结果,客户端不需要再做任何处理)
- 在浏览器向服务端请求某个URL地址
服务端渲染和客户端渲染的区别
- 客户端渲染不利于 SEO 搜索引擎优化,服务端渲染是可以被爬虫抓取到的,客户端渲染很难被爬虫抓取到。所以你会发现真正的网站既不是纯异步也不是纯服务端渲染出来的,而是两者结合来做。
- 客户端渲染可以进行局部加载,先加载页面后加载内容,用户体验较好。服务端渲染需要刷新URL网址,相对用户体验没那么好。
例如,京东的商品列表就采用的是服务端渲染,目的是为了 SEO 搜索引擎优化。而它的商品评论列表为了用户体验,而且不需要 SEO 优化,所以采用客户端渲染。`
网友评论