服务器端渲染和客户端渲染的区别
一、什么是服务器端渲染和客户端渲染
互联网早期 用户使用浏览器浏览的都是一些没有复杂逻辑的、 简单的页面 这些页面都是在后端将htm l 拼接好的然后将之返回给前端完整的 htm l文件浏览器拿到这个 htm l 文件之后就可以直接解析展示了 而这也就是所谓的服务器端渲染了。 而随着前端页面的复杂性提高前端就不仅仅是普通的页面展示了 而可能添加了更多功能性的组件 复杂性更大另外彼时 ajax的兴起使得业界就开始推崇前后端分离的开发模式 即后端不提供完整的html 页面而是提供一些api使得前端可以获取到 json数据然后前端拿到json数据之后再在前端进行 htm l 页面的拼接然后展示在浏览器上这就是所谓的客户端渲染了这样前端就可以专注 UI的开发后端专注于逻辑的开发。
二、服务器端渲染和客户端渲染的本质区别
最重要的区别就在于究竟是谁来完成 htm l 文件的完整拼接如果是在服务器端完成的返回客户端就是服务器端渲染反之如果前段做了更多的工作完成 htm l 拼接就是客户端渲染。
三、服务器端渲染和客户端渲染的优点
服务器端渲染优点
①前端耗时少。因为后端拼接完了 html 浏览器只需要直接渲染出来。
② 有利于 SEO。因为在后端有完整的 html 页面所以爬虫更容易爬取获得信息更有利于seo。
③ 无需占用客户端资源。 即解析模板的工作完全交由后端来做客户端只要解析标准的html页面即可这样对于客户端的资源占用更少尤其是移动端也可以更省电。
④ 后端生成静态化文件。 即生成缓存片段这样就可以减少数据库查询浪费的时间了且对于数据变化不大的页面非常高效 。
客户端渲染优点
①前后端分离。前端专注于前端 UI 后端专注于 api开发且前端有更多的选择性而不需要遵循后端特定的模板。
② 体验更好。 比如我们将网站做成 SPA或者部分内容做成 SPA这样 尤其是移动端可以使体验更接近于原生 app 。
四、服务器端渲染和客户端渲染的缺点
服务器端渲染缺点
① 不利于前后端分离开发效率低。使用服务器端渲染则无法进行分工合作则对于前端复杂度高的项目不利于项目高效开发。
② 占用服务器端资源。即服务器端完成 ht m l 模板的解析如果请求较多会对服务器造成一定的访问压力。而如果使用前端渲染就是把这些解析的压力分摊了前端而这里确实完全交给了一个服务器。
客户端渲染缺点
①前端响应较慢。如果是客户端渲染前端还要进行拼接字符串的过程需要耗费额外的
时间不如服务器端渲染速度快。
② 不利于 SEO。 目前比如百度、 谷歌的爬虫对于 SPA都是不认的 只是记录了一个页面所以 SEO很差。因为服务器端可能没有保存完整的 html 而是前端通过 js进行dom的拼接那么爬虫无法爬取信息。 除非搜索引擎的 seo可以增加对于 JavaScript 的爬取能力这才能保证 seo。
Letbox 云服务商在前面的文章中其实也有多次介绍,这个服务商其实也算是比较老牌的海外服务商,几年前我也一直有使用过他们家的VPS主机,早年那时候低至年付15-35美元左右的VPS算式比较稀缺的。后来由于服务商确实比较多,而且也没有太多的网站需要用到,所以就没有续费,最近这个服务商好像有点活动就躁动的发布希望引起他人注意。这不有看到所谓的家中有喜事,应该是团队中有生宝宝了,所以也有借此来发布一些...
在刚才更新Vultr 新年福利文章的时候突然想到前几天有网友问到自己有在Vultr 注册账户的时候无法用支付宝付款的问题,当时有帮助他给予解决,这里正好顺带一并介绍整理出来。毕竟对于来说,虽然使用的服务器不多,但是至少是见过世面的,大大小小商家的一些特性特征还是比较清楚的。在这篇文章中,和大家分享如果我们有在Vultr新注册账户或者充值购买云服务器的时候,不支持支付宝付款的原因。毕竟我们是知道的,...
PacificRack在本月发布了几款特价产品,其中最低款支持月付仅1.5美元,基于KVM架构,洛杉矶机房,PR-M系列。PacificRack简称PR,QN机房旗下站点,主要提供低价VPS主机产品,基于KVM架构,数据中心为自营洛杉矶机房,现在只有PR-M一个系列,分为了2个类别:常规(Elastic Compute Service)和多IP产品(Multi IP Server)。下面列出几款秒...