1、服务端渲染:
-
涉及历史问题
在互联网早期,前端页面都是一些简单的页面,那么前端页面都是后端将html拼接好,然后将它返回给前端完整的html文件。浏览器拿到这个html文件之后就可以直接显示了,这就是我们所谓的服务器端渲染。
找到需访问的资源文件
从数据库中基于SQL语句查询出需要的数据
把页面代码和数据结合在一起 生成有结构样式和数据的页面
把渲染完成的页面返回给客户端浏览器 -
缺点
服务器压力过大
页面中某一个数据想要更改 只能重新刷新整个页面(全局刷新)
不利于团队协作开发
用户体验较差、不容易维护,通常前端改了部分html或者css,后端也需要修改。 -
服务端渲染的优点:
首屏渲染快
利于SEO、可以生成缓存片段,生成静态化文件、节能(对比客户端渲染的耗电)。
2、客户端渲染:
后端不提供完整的html页面,而是提供一些api使得前端可以获取json数据,然后前端拿到json数据之后再在前端进行html页面拼接,然后展示在浏览器上。这种是客户端渲染。这样前端就可以专注UI的开发,后端专注逻辑开发。
- 缺点:
不利于SEO、爬虫看不到完整的程序源码、首屏渲染慢(渲染前需要下载一堆js和css等)。 - 优点:网络传输数据量小、减少了服务器压力、前后端分离、局部刷新,无需每次请求完整页面、交互好可实现各种效果。
3、总结分析
客户端渲染和服务器端渲染的最重要的区别就是究竟是谁来完成html文件的完整拼接
,如果是在服务器端完成的,然后返回给客户端,就是服务器端渲染,而如果是前端做了更多的工作完成了html的拼接,则就是客户端渲染。