服务器端渲染和客户端渲染的区别
一、什么是服务器端渲染和客户端渲染
互联网早期 用户使用浏览器浏览的都是一些没有复杂逻辑的、 简单的页面 这些页面都是在后端将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。
近期RAKsmart上线云服务器Cloud Server产品,KVM架构1核1G内存40G硬盘1M带宽基础配置7.59美元/月!RAKsmart云服务器Cloud Server位于美国硅谷机房,下单可选DIY各项配置,VPC网络/经典网络,大陆优化/精品网线路,1-1000Mbps带宽,支持Linux或者Windows操作系统,提供Snap和Backup。RAKsmart机房是一家成立于2012年...
7月份已经过去了一半,炎热的夏季已经来临了,主机圈也开始了大量的夏季促销攻势,近期收到一些商家投稿信息,提供欧美或者亚洲地区主机产品,价格优惠,这里做一个汇总,方便大家参考,排名不分先后,以邮件顺序,少部分因为促销具有一定的时效性,价格已经恢复故暂未列出。HostMem部落曾经分享过一次Hostmem的信息,这是一家提供动态云和经典云的国人VPS商家,其中动态云硬件按小时计费,流量按需使用;而经典...
RAKsmart 商家我们肯定不算陌生,目前主要的营销客户群肯定是我们。于是在去年的时候有新增很多很多的机房,比如也有测试过的日本、香港、美国机房,这不今年有新增韩国机房(记得去年是不是也有增加过)。且如果没有记错的话,之前VPS主机也有一次磁盘故障的问题。 这不今天有看到商家新增韩国服务器产品,当然目前我还不清楚商家韩国服务器的线路和速度情况,后面我搞一台测试机进行...