客户端渲染(CSR)VS服务端渲染(SSR)
渲染:就是将数据和模版组装成html
服务端渲染:
- 就是用户在浏览你的网页的时候,请求一个网页,服务端直接把这个网页的静态HTML显示在你眼前。
- 解析模板的工作完全交给后端来做,客户端只需要解析HTML页面。
- 后端生成静态化文件。即生成缓存片段,减少数据库查询的浪费时间。高效。
- 有利于SEO。
- 使前端耗时少。(不需要跑一遍JS)
- 不利于前后端分离,开发效率低。(前端修改了css,后端就需要跟着修改)
客户端渲染:
- 客户端渲染模式下,服务端把渲染的静态文件给到客户端,客户端拿到服务端发送过来的文件自己跑一遍js,(这里的js就是写好怎么拼接html)根据JS运行结果,生成相应DOM,然后渲染给用户。
- 前后端分离。前端专注UI,后端专注api开发。前端有更多选择性,不需要遵循后端特定 的模板前端响应较慢。
- 客户端渲染,前端还需要进行拼接字符串的过程,需要耗费额外的时间,不 如服务器渲染的速度快。
- 不利于SEO
服务端渲染与客户端渲染之间最大的区别就是HTML的拼接解析在服务器service完成还是客户端完成(浏览器)
不谈业务场景而盲目选择使用何种渲染方式都是耍流氓。比如企业级网站,主要功能是展示而没有复杂的交互,并且需要良好的SEO,则这时我们就需要使用服务器端渲染;而类似后台管理页面,交互性比较强,不需要seo的考虑,那么就可以使用客户端渲染。
另外,具体使用何种渲染方法并不是绝对的,比如现在一些网站采用了首屏服务器端渲染,即对于用户最开始打开的那个页面采用的是服务器端渲染,这样就保证了渲染速度,而其他的页面采用客户端渲染,这样就完成了前后端分离
b站:点击动态、历史等等这些选项会跳转到一个新的页面,是通过<a>
标签href='地址' target="_blank"
直接跳转到bilibili的子域名
https://www.bilibili.com/
https://t.bilibili.com/