Akamai在他们的网站上有一个非常有趣的HTTP / 2演示:
HTTP / 2(HTTP的未来)允许通过单个TCP连接同时下载资源,减少了对spritesheets和连接的需求......据我了解,在有大量请求的网站上应该总是更快(比如在演示中)。
当我在Chrome或Safari中尝试演示时,确实要快得多,但是当我在FireFox中测试它时,它始终 SLOWER 。同一台计算机,同一连接。
为什么会这样?
HTTP / 2显然是supported by all major browsers,包括FireFox,因此它应该可以正常工作,但在这个真实世界的演示中,它在80%的时间内都会变慢。 (在Chrome和Safari中,它的百分比速度更快。)
在确保我清除了所有缓存之后,我在接下来的星期一再次尝试:
我的操作系统:带有FireFox版本44.0.2的El Capitan版本10.11.3(15D21)
更新(2016年4月)
现在运行Firefox 45.0.1:
还慢!
答案 0 :(得分:6)
您似乎拥有非常小的延迟和非常快的网络。
我对HTTP / 1.1的典型结果是延迟= 40毫秒,load_time = 3.5秒,而HTTP / 2的速度一直快3倍。
使用像你这样的网络,其他效果可能会发挥作用。
根据我的经验,最重要的一个是实际谈判的密码。
HTTP / 2要求使用非常强大的密码,而HTTP / 1.1(通过TLS)允许使用更弱,更快的密码。
为了比较苹果和苹果,您需要确保使用相同的密码。对我来说,对于这个Akamai演示,使用了相同的密码。
另一件可能重要的事情是HTTP / 1.1源是从http1.akamai.com
下载的,而对于HTTP / 2,它们是从http2.akamai.com
下载的。对我来说,他们决定使用不同的地址。
还应分析演示中报告的时间精确度:)
明确的答案只能来自使用Wireshark等工具的网络跟踪。
对于比您的网络差的网络,可能是大多数网络,由于与延迟相关的HTTP / 2优化(特别是多路复用),HTTP / 2通常是明显的赢家。
答案 1 :(得分:2)
如果您混合使用小型和大型资源,延迟比绝对加载时间更重要。例如。如果您正在加载一个非常大的图像而且还有一个小样式表,那么HTTP2将通过单个连接进行多路复用,可以在图像仍在加载时完成样式表。页面可以使用最终样式进行渲染,并且 - 假设图像是渐进式的 - 还将显示图像的低分辨率版本。
换句话说,如果由一些大资源引起的话,负载的尾端可能不那么重要。
也就是说,虽然存在一些差异,但是演示页面实际上每晚都会在FF上加载http2更快。您可能需要更好的测量。