4

大多数浏览器都支持 HTTP/2,一些服务器也支持。

例如,Akamai 提供了一个 HTTP/2 测试页面 ( https://http2.akamai.com/ )。当我在 chrome 中访问此页面并转到chrome://net-internals/#spdy使用协议 h2-14(HTTP/2 草案 14)列出的页面时。但是,当我在 akamai 页面上打开控制台并键入window.chrome.loadTimes()属性wasFetchedViaSpdytrue。为什么是这样?Akamai 页面是 HTTP/2,而不是 SPDY,对吧?

我不明白的另一件事是本教程(https://www.gatherdigital.co.uk/blog/how-to-setup-http-2-support/527)。它说:

“如何设置 HTTP/2 支持(nginx、apache、plesk)[...] 嗯,不完全是 HTTP/2,它仍然是 mod_spdy。”

这个 HTTP/2 “over” SPDY 是什么?我提出问题的原因是我想对哪些页面使用哪种协议进行一些测量。

4

1 回答 1

7

长话短说:SPDY 已死,HTTP/2 万岁!

询问“HTTP/2 在没有 SPDY 的情况下是否可行”意味着 HTTP/2 在某种程度上依赖于 SPDY。事实并非如此。相反,HTTP/2 和 SPDY 非常相似,以至于许多实现都将其现有的 SPDY 支持破解为 HTTP/2。还有很多人认为 HTTP/2 是 SPDY,或者对他们的术语感到草率。它们是不同的协议。

SPDY是 Google 对 HTTP/1.1 的非标准(但开放)扩展,旨在加快网站加载和交互,并消除人们为减少连接数量而进行的许多黑客攻击。 HTTP/2 从 SPDY 开始并从那里运行以创建一个与 HTTP/1.1 和 SPDY 都不兼容的新标准协议。

许多人将 SPDY 和 HTTP/2 视为相同的东西,但事实并非如此。HTTP/2 和 SPDY 之间的标准化过程发生了重大变化,因此 SPDY 和 HTTP/2 不兼容。但是它们真的很接近,所以很多 HTTP/2 实现只是被黑的 SPDY 实现。

许多Web 服务器客户端都实现了 SPDY,即使它不是标准。性能提升太好了,不容错过。

现在 HTTP/2 正式发布,SPDY 已正式弃用,取而代之的是 HTTP/2,并将在 2016 年作为标准撤回。Web 客户端和服务器正在努力切换。虽然客户端采用 HTTP/2的速度非常快,但服务器支持似乎滞后

在撰写本文时,HTTP/2 成为标准仅用了六周时间。再给它一些时间。对 SPDY 的引用将在 HTTP/2 实现中徘徊,但很快就会被清除。Firefox 36.0.4 的网络控制台正确地将协议版本报告为 HTTP/2。

至于是否使用HTTP/2,看HTTP响应对象,应该有使用的协议。

于 2015-03-29T16:39:13.350 回答