大多数浏览器都支持HTTP / 2,一些服务器也支持。
例如,Akamai提供了HTTP / 2测试页( https://http2.akamai.com/ )。当我在chrome中访问此页面并转到chrome://net-internals/#spdy
时,页面将列出协议h2-14(HTTP / 2草案14)。但是,当我在akamai页面上打开控制台并输入window.chrome.loadTimes()
时,属性wasFetchedViaSpdy
为true
。为什么是这样? Akamai页面是HTTP / 2,而不是SPDY,roght?
我没有得到的另一件事是本教程( 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的东西?我的问题的原因是我想对哪些页面使用哪种协议进行一些测量。
答案 0 :(得分:7)
长话短说:SPDY死了,HTTP / 2万岁!
询问“没有SPDY可以实现HTTP / 2”意味着HTTP / 2以某种方式依赖于SPDY。情况并非如此。相反,HTTP / 2和SPDY是如此相似,以至于许多实现正在攻击他们现有的SPDY支持为HTTP / 2。还有很多人认为HTTP / 2是SPDY,或者说他们的术语很草率。它们是不同的协议。
SPDY是Google对HTTP / 1.1的非标准(但开放)扩展,旨在加快网站加载和交互,并消除人们为减少连接数而做的大量黑客攻击。 HTTP/2 started with SPDY并从那里开始创建一个与HTTP / 1.1和SPDY不兼容的新标准协议。
许多人将SPDY和HTTP / 2视为同样的事情,但事实并非如此。 HTTP / 2和SPDY之间的标准化过程发生了重大变化,因此SPDY和HTTP / 2不兼容。但它们非常接近,因此许多HTTP / 2实现只是被黑客攻击的SPDY实现。
许多web servers和clients实施了SPDY,即使它不是标准。性能提升太好了,无法理解。
现在HTTP / 2已正式发布, SPDY已被正式弃用,支持HTTP / 2 ,并将于2016年作为标准撤销.Web客户端和服务器正在努力切换。虽然the clients have adopted HTTP/2非常快,server support seems to be lagging。
在撰写本文时,HTTP / 2只是六周的标准。给它一些时间。 SPDY的引用将在HTTP / 2实现中徘徊,但这将被快速清理。 Firefox 36.0.4的网络控制台正确地将协议版本报告为HTTP / 2.
至于找出是否使用HTTP / 2,查看HTTP响应对象,它应该使用协议。