HTTP 2 协议对 Web 开发的影响?

HTTP2 protocol impact on web developement?

我想提请您注意我几天来重新思考的事情。 HTTP/2 协议对 Web 开发的新特性和影响。我也想问一些相关的问题,因为我的年度计划因为HTTP/2.

越来越不准了

由于HTTP/2使用单一技术,multiplexed connection, instead of multiple connections in HTTP 1.x domain sharding技术将不再需要。

使用 HTTP/1.x,您可能已经将文件放在不同的域中以增加文件传输到网络浏览器的并行性;内容域网络 (CDN) 会自动执行此操作。但这对 HTTP/2.

下的表现没有帮助 - 并且可能会损害 - 表现

问题 1:HTTP/2 会尽量减少对 CDN 的需求吗?


代码文件连接。通常作为单独文件维护和传输的代码块被合并为一个。浏览器然后根据需要在串联文件中查找并运行所需的代码。

Q2。 HTTP/2 是否不需要连接具有相似扩展名(css、javascript)的文件以及使用很棒的 Grunt 和 Gulp 工具来做到这一点?


问。另外,为了简化问题并使问题更紧凑,我会问的很笼统,HTTP/2 对 Web 开发的其他影响如您所预见的那样?

问题 1:HTTP/2 会尽量减少对 CDN 的需求吗?

没有。 CDN 主要用于根据地理位置将内容置于靠近用户的位置。离服务器越近,获取内容的速度越快。

Q2。 HTTP/2 是否不需要连接具有相似扩展名(css、javascript)的文件以及使用很棒的 Grunt 和 Gulp 工具来做到这一点?

连接只是像 Grunt/Gulp 这样的工具的一部分。 Linting、转换、运行测试是您仍然需要工具的其他事情。所以他们会留下来。就 concat 而言,理想情况下,您应该不再为每种类型创建一个大型 concat 文件,而是转向为每个模块创建较小的串联文件。

Q3。另外,为了简化问题并使问题更紧凑,我会问的很笼统,HTTP/2 对 Web 开发的其他影响可能是您可以预见的?

一般的想法是 HTTP/2 不会对我们开发事物的方式做出巨大的改变,因为它是协议级别的改变。开发人员最好删除优化(如压缩、分片),这些不是 http/2

的优化技术

Q1:HTTP/2 会尽量减少对 CDN 的需求吗?

如果您使用正确的软件,它肯定会稍微改变平衡。我谈论平衡是因为 CDN 需要金钱和管理时间。

  • 如果您使用 CDN 来卸载流量,您仍然需要它们来卸载流量。
  • 如果您是一个小型网站(大多数网站都是,从数字上来说),您将没有理由使用 CDN,因为 [=46 可以非常有效地隐藏延迟=](前提是你部署正确)。 HTTP/2 甚至比 SPDY 更好,检查 this article 是否有关于 SPDY 的用例。

  • 此外,我们纳入网站的大部分 third-party 内容已经使用了 CDN。

Q2。 HTTP/2 是否不需要连接具有相似扩展名(css、javascript)的文件以及使用很棒的 Grunt 和 Gulp 工具来做到这一点?

不幸的是没有。不需要连接东西,除非您传送的文件非常小,比如几百字节。其他一切仍然相关,包括缩小和 adding those ugly query strings for cache busting

Q3。另外,为了简化问题并使问题更紧凑,我会问的很笼统,HTTP/2 对 Web 开发的其他影响可能是什么?

这是一个棘手的问题。一方面,HTTP/2 出现在网络成熟的时刻,开发人员有一大堆事情要处理。 HTTP/2 可以看作是一个很小的部分,以这样一种方式改变,整个堆栈不会崩溃。事实上,我可以想象很多团队会以这种方式向管理层出售 HTTP/2 ("It won't be a problem, we promise!")。

但从技术角度来看,HTTP/2 允许更好的开发工作流程。例如,HTTP/2 的多路复用特性意味着站点的大部分内容都可以通过单个连接提供,允许某些服务器 to learn about interactions between assets 仅通过观察浏览器行为。该信息可以与 HTTP/2 和现代网络的其他功能(特别是 HTTP/2 PUSH 和 pre-open headers)一起使用,以隐藏大量延迟。想一想可以为对性能感兴趣的开发人员节省多少工作。