浏览器渲染网页

发表于 1年以前  | 总阅读数:521 次

今天,世界各地的计算机和网络通讯速度都变得越来越快。这有利于提升 Web 开发和用户体验。人们通过互联网能够实现的可能性也向前迈了一大步。

显著进步的另一面也意味着有一些人掉队了。在这个数字分化的年代,如何提高网络体验,以触达到更多网络和设备条件没有那么好的用户,是一个难题。

要解决这个难题,必须先理解浏览器上渲染网页的方法。

本文涉及的术语

在开始之前,我需要确保你熟悉本文涉及的术语。其中一些对于新开发者来说可能难以理解。如果你对这部分已经很了解了,可以跳过。

  • 服务器:服务器是位于远程(互联网意义上的)电脑,它的职责就是处理客户端发来的请求并且做出响应。
  • 客户端:客户端是用于和服务器通信的设备,以此来访问资源。在绝大多数情况下,客户端是可以访问网络的设备。在本文中,网络浏览器充当了客户端的角色。
  • CDN:Content Delivery Network(内容分发网络)的首字母缩写。CDN 是“一个互连服务器网络,可加快数据密集型应用程序的网页加载速度”(引用自 AWS)。
  • 构建时:在构建时,应用程序代码为另一个环境做准备。这里的另一个环境大多数时候指的是互联网上的托管环境。

现在让我们学习渲染网站的不同方式。

什么是客户端渲染(CSR)?

客户端渲染完全依赖 JavaScript 代码在浏览器中生成网页。在页面内容加载完毕,供用户浏览之前,浏览器预先处理 JS 代码。

JavaScript 在下载时就动态辅助定义网站架构。这里的架构指的是从 API 获取数据、 网站导航和一些网站内简单的业务逻辑。

客户端渲染和 JavaScript 框架

客户端渲染因为一些 JavaScript 框架或者库,如:React、 Vue 和 Angular 的发布而变得越来越流行。仅当在 HTML 页面的头部(head)引入一个 CDN,这些架构才生效——通常这些 CDN 包含大量的 JS 代码。

毫无疑问大文件意味着更久的下载时间,同时,在首次加载就下载好大文件意味着之后访问网站其他页面的加载时间会大幅下降。

网站首先从 API 获取数据,然后数据被用于填充在客户端渲染的页面。

许多我们现实生活中的渐进式应用(PWA)就是使用 CSR 的示例,如:Spotify、Figma 和 Google Drive。

什么是服务端渲染(SSR)?

客户端渲染改变了游戏规则,并且这种改变仍在持续。但是,如果细看 CSR 的性能,会发现想要网站具备更多的功能,就需要更多的 JS 代码。也就是上文提到的越多的 JS 代码意味着更久的下载时间。

牺牲首次加载时间来换取网页的快速访问,对于一些人来并不划算。服务器端渲染就应运而生。

SSR 并未解决网页渲染的所有问题,但确实解决了使用 CSR 会面临的问题,如首次加载的时间,更多优势会在后文提到。

服务器端在接收到浏览器的请求后就在服务器渲染生成网页。服务器通过 SSR 渲染整个 HTML、CSS 和资源需求的必要 JavaScript,并且返回给浏览器。

也就意味着网站内容始终是来自服务器的最新的信息。你可以把这个类比为 REST API——后端内容实时更新。

和其他渲染手段一样,SSR 也有一些弊端。其中一个就是因为需要通过向服务发送请求才能加载网页,所以网络带宽小的用户会受到影响。同时,SSR 也对计算机的算力有要求。

什么是静态网站生成(SSG)?

静态网站生成是渲染网页一个常用的手段,在 JavaScript 框架诞生之前,大部分的网站都是静态生成的。

静态网站很受欢迎,但是有更好的生成它们的方式。这主要取决于网站是否看重性能。

但是,静态网站是什么?

静态网站的渲染和生成是一致的,也就是说静态网站的内容基本上不会被浏览的用户影响,不像使用 CSR 或者 SSR 渲染的 web 应用,用户看到的内容取决于认证和授权。

静态网站是展现不会改变,或者只需要定期更新内容的理想手段。

静态网站生成详解

静态网页生成主要设计到自动化构建网页的过程。今天的 JavaScript 框架(如 Nuxt.js、Next.js 等)提供模版引擎,可使用一个模板来构建多个静态页面,可以想像这样可以解决时间。

在 SSR 和 CSR 中,HTML 网页是在构建时渲染和生成,但是静态网站生成截然不同。在你尝试访问网页之间,SSG 就生成了网站。这就是为什么 SSG 被认为是预渲染,苦差事都在渲染前做完了。

看上去 SSG 可以春风化雨,但使用 SSG 渲染页面有一个大缺点就是必须为网站的每一个可以访问的 URL 生成一个页面,如果你使用动态页面,就会更复杂。

这就回到上文提到的,静态网站的理想使用场景是展现不怎么更新的内容,也就是静态网站并不是万金油。

不同渲染方式优势和折衷

在分别了解这些渲染方式之后,让我们把知识整合到一起做一下对比。

我们将看三个指标——性能、SEO 和花销。

性能

搭建可以兼容不同网络和电脑速度的网站,需要考虑到网站的性能。这里的性能指的是网站的加载速度和从 API 获取数据的速度。

接下来将分析 CSR、SSR 和 SSG 在这方面的表现

客户端渲染性能

客户端渲染网站相对较慢。因为一开始需要加载 JS 代码,才能生成用户可以看到的内容。

通常情况下,JS 下载都很慢,特别是使用 JS 框架的时候。客户端渲染网页也调用 API 以从后端获取数据,这样也会增加用户的加载时间。

服务器端渲染性能

SSR 渲染网页可以非常快。这主要取决于服务器的速度以及用户电脑的速度,如果两者都达到预期,SSR 在性能方面可以轻松取胜。

静态网站生成性能

使用 SSG 生成页面相对较快,因为实际渲染并没有在浏览器发生。

SSG 不需要额外的工作就可以向浏览器提供内容。和 CSR 一样,SSG 可能也需要调用 API 来获取后端数据,这样也会增加用户的加载时间。

最终性能是由网页中使用的 JavaScript 的数量决定的。

搜索引擎优化(SEO)

页面如果需要曝光的话,就应当重视搜索引擎优化。SEO 决定了内容在如 Google 这样的搜索引擎上的可访问性,同时也决定了网站在搜索引擎结果页面(SERP)上的排名。

让我们看看当这些网站被搜索引擎索引的时候,它们的 SEO 表现如何。

CSR 搜索引擎优化

使用 CSR 渲染的页面并没有语义化的内容,内容主要靠 JS 生成。这样的弊端是不是所有网络爬虫都支持 JS,因此你的网站可能不能被搜索引擎正确索引。

SSR 搜索引擎优化

SSR 渲染通过由服务器发出的最新的内容生成页面,由 SS 渲染的页面可以被爬虫识别也可以被搜索引擎索引。

SSG 搜索引擎优化

由 SSG 生成的页面极易被网络爬虫爬取,因为它不完全依赖 JS 渲染。

花销

给用户提供最佳的体验很重要,但账单不会自我消化,所以由体验带来的花销越精简越好。

三种渲染手段的经济花销并不相同。让我们仔细分析一下:

CSR 花销

客户端渲染 100% 在浏览器运行,也就意味着没有额外产生花销。

SSR 花销

客户端渲染由远程的服务器生成功能完整的页面,所以会生成额外的计算资源和花销。

SSG 花销

没有花销。静态网站生成在构建时完成。因此,生成的网页被托管,不需要服务器额外的渲染。

总结

当选择渲染方式的时候,请考虑好你的用例,可以根据本文所学来做判断。不同的渲染方式适用于不同的网站。

电子商务网站的开发者可能会选择 SSR 路线,或者选择更安全的静态网站。同时,web 应用的开发可能不在乎首次加载的时长,只要长远看的用户体验够好。

不论你选用哪种渲染方式,都要确保网站的可访问性——跳出自身经历。最后,千万别忘了 JS 代码的精炼。


本文由哈喽比特于1年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/OZAtn-d_aT8Q6eo_7jARkg

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237224次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8059次阅读
 目录