HTTP2协议对Web开发的影响?

时间:2016-03-13 01:17:00

标签: http web gulp cdn http2

我想把你的注意力集中在我几天思考的事情上。 HTTP / 2协议用于Web开发的新功能和影响。我还想问一些相关的问题,因为我的年度计划由于HTTP / 2而变得不那么准确。

由于HTTP / 2使用单个multiplexed connection,而不是HTTP1.x中的多个连接domain sharding技术将不再需要。

使用HTTP / 1.x,您可能已经将文件放在不同的域中,以增加文件传输到Web浏览器的并行性;内容域网络(CDN)自动执行此操作。但它对HTTP / 2下的性能没有任何帮助 - 并且可能会造成伤害。

Q1:HTTP / 2是否会最大限度地减少对CDN的需求?

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

Q2。 HTTP / 2是否会消除连接具有类似扩展名(css,javascript)的文件以及使用优秀的Grunt和Gulp工具的需要?

问。另外,为了简化问题并使问题更加紧凑,我会问一下,你可以预见到HTTP / 2对网络开发的其他影响可能很普遍吗?

2 个答案:

答案 0 :(得分:2)

Q1:HTTP / 2最小化是否需要CDN?

没有。 CDN主要是基于地理位置共同定位靠近用户的内容。更接近您的服务器,您将获得更快的速度。

<强> Q2。 HTTP / 2是否会消除使用类似扩展(css,javascript)连接文件以及使用Grunt和Gulp工具的必要性?

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

<强> Q3。另外,为了简化问题并使问题更加紧凑,我会问一下你可以预见的HTTP / 2对网络开发的其他影响可能很普遍吗?

一般的想法是HTTP / 2不会对我们开发事物的方式做出巨大的改变,因为它的协议级别会发生变化。理想情况下,开发人员会删除不是使用http / 2

的优化技术的优化(如压缩,分片)

答案 1 :(得分:2)

Q1:HTTP / 2最小化是否需要CDN?

只要您使用合适的软件,它肯定会稍微改变平衡。我谈论平衡,因为CDN需要花钱和管理时间。

  • 如果您使用CDN卸载流量,您仍然需要它们来卸载流量。
  • 如果您是一个小型网站(大多数网站都是数字方面),您将没有理由使用CDN,因为延迟可以通过HTTP / 2非常有效地隐藏(假设您正确部署它)。 HTTP / 2甚至比SPDY更好,并检查this article有关SPDY的用例。

  • 此外,我们合并到我们网站的大多数第三方内容已经使用了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(&#34;它不会成为问题,我们保证!&#34;)。

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