这是我们最新的 JavaScript 时事通讯的社论,请在此处订阅 如今几乎所有 JavaScript 应用程序都会使用构建过程。即使您不是从 ES2015 或 TypeScript 进行转译,对代码运行某种串联和缩小过程也已成为标准做法。原因是发出 HTTP 请求涉及相当多的开销。提供更少、更大的文件比提供许多更小的文件更有效。随着网络底层协议HTTP/2的下一版本的采用,也许是时候重新思考最佳实践了。 HTTP/2 基于 Google 的SPDY协议,该协议的开发目的是为了改善页面加载延迟并提高现有 HTTP 1.1 标准的安全性。新协议的开发工作于 2012 年开始,第一个开发版本是 SPDY 的直接副本。最终标准于2015年5月发布。
HTTP/2 如何提高安全性?
这使得它更加紧凑、解析效率更高并且更不容易出错。该协议的主要优点之一是它是多路复用的,这意味着可以在单个连接上传输多个文件。另一个备受推崇的 新西兰电话号码表 功能是服务器推送,它允许服务器在请求资源之前将资源传输到客户端,从而预先填充缓存。 对新协议的支持非常好,包括所有主要浏览器。服务器端,Apache2、Nginx 和 Microsoft IIS 以及 Node 及更高版本都支持它。大多数浏览器供应商都表示,他们将仅支持基于 TLS 连接的 HTTP/2,尽管随着 Let’s Encrypt 提供免费 SSL 证书的出现,这一要求很容易满足。
如何检查我的网站是否使用 HTTP/2?
的采用对 JavaScript 开发人员意味着什么?我们目前将多个文件连接成捆绑包的做法使浏览器很难有效地缓存我们的代码:更改一个模块中的一行代码需要重新下载整个捆绑文件。由于 HTTP/2 的多路复用使请求相对便宜,因此我们可以选择将代码拆分为更 卢森堡 WhatsApp 号码列表 小的包,并更好地利用缓存,以确保我们的应用程序有效利用用户的带宽。 但如果请求很便宜,我们肯定应该完全放弃捆绑吗?乍一看这似乎有道理,但 HTTP 请求的成本并不是唯一需要考虑的因素。Web 服务器在处理大量文件的效率方面也受到限制。