【问题标题】:HTTP2 protocol impact on web developement?HTTP 2 协议对 Web 开发的影响?
【发布时间】:2016-06-28 04:21:07
【问题描述】:

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

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

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

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


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

第二季度。 HTTP/2 是否会消除连接具有类似扩展名(css、javascript)的文件的需要以及使用出色的 Grunt 和 Gulp 工具来实现这一点?


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

【问题讨论】:

  • 例如看here。 CDN - 是,最小化 - 是,连接 - 否(是的,仅适用于小型资源)。不要忘记设置 HTTP 缓存标头以优化缓存(CDN 会自动执行此操作)。对于非动态内容(如 JS/CSS 文件、图片等),尝试使用 不可变 URL(URL 可以包含资源的版本,如果资源是新的,则 URL 可以不同)。跨度>

标签: http web gulp cdn http2


【解决方案1】:

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

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

  • 如果您使用 CDN 来卸载流量,您仍然需要它们来卸载流量。
  • 1234563正确部署)。 HTTP/2 甚至比 SPDY 更好,请查看this article 以获取有关 SPDY 的用例。
  • 此外,我们纳入网站的大多数第三方内容已经使用 CDN。

第二季度。 HTTP/2 是否会消除连接具有类似扩展名(css、javascript)的文件的需要以及使用出色的 Grunt 和 Gulp 工具来实现这一点?

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

第三季度。另外,为了简化问题并使问题更紧凑,我想问一个很笼统的问题,您可以预见 HTTP/2 对 Web 开发的其他影响是什么?

这是一个棘手的问题。一方面,HTTP/2 在 Web 成熟的时候到来,开发人员需要处理大量的事情。 HTTP/2 可以被看作是一个很小的部分,需要以这样一种方式进行更改,以使整个堆栈不会崩溃。事实上,我可以想象许多团队以这种方式向管理层出售 HTTP/2(“这不会是问题,我们保证!”)。

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

【讨论】:

    【解决方案2】:

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

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

    第二季度。 HTTP/2 是否会消除连接具有类似扩展名(css、javascript)的文件的需要以及使用出色的 Grunt 和 Gulp 工具来实现这一点?

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

    第三季度。另外,为了简化问题并使问题更紧凑,我想问一个很笼统的问题,您可以预见 HTTP/2 对 Web 开发的其他影响是什么?

    一般的想法是 HTTP/2 不会对我们开发事物的方式产生巨大的改变,因为它是协议级别的变化。理想情况下,开发人员会删除不是 http/2 优化技术的优化(如压缩、分片)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-09
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 2019-01-09
      • 2021-06-03
      • 1970-01-01
      相关资源
      最近更新 更多