SSR服务端渲染、后端渲染
服务端渲染也叫SSR。就是在返回 html 之前,使用模板引擎渲染好数据,再给客户端,客户端只负责解析 HTML 。
CSR客户端渲染、前端渲染
客户端渲染也叫CSR。在向服务器进行请求时,服务器返回带JS脚本不带数据的html给客户端,客户端解析执行js再向服务端请求数据,渲染完整的html。
可在网页中鼠标右键点击查看网页源代码,如果是源代码中就存在的,即为服务端渲染,否则为客户端渲染
SSR与CSR区别
客户端渲染不利于SEO搜索引擎优化。因为服务器渲染很容易被爬虫抓取到,客户端渲染很难被爬虫抓取。
可以看到很多网站是两者结合来做的,例如京东的商品列表是通过服务端渲染,有利于SEO优化。商品评论列表为客户端渲染,更倾向于客户体验,不需要SEO优化
后端路由
浏览器在地址栏中切换不同的url时,每次都向后端服务器发起请求,服务器响应请求,返回拼接好的html给前端展示。这也意味着每次切换url浏览器都会刷新页面
前端路由
SPA:单页面富应用(例如vue),整个网页只有一个html
很重要的一点,前端路由在切换url时不会刷新页面。实现方式有以下几种
URL的hash
修改hash值,并不会刷新网页
history
pushState
添加历史条目,可回退到上一层
replaceState
与pushState很像,但 修改历史条目,不可回退到上一层