为什么HTTPS页面请求比HTTP更快?

时间:2016-03-29 19:53:13

标签: performance http https

This article mentionsthis site seems designed to show HTTPS可以比HTTP更快。我很惊讶;我认为HTTPS只是HTTP加密,这增加了一小部分likely negligable工作但不删除任何工作。

为什么HTTPS页面加载速度要快于HTTP?

3 个答案:

答案 0 :(得分:5)

说实话,这有点儿说。

HTTPS比HTTP慢。无可否认。 HTTPS通过HTTP工作,因此必须执行HTTP所做的一切以及更多。现在,通过良好的Web服务器配置,在当今的现代硬件上,普通用户几乎不存在HTTPS的计算成本,但它就在那里。但它也会减慢第一页的渲染速度,因为设置HTTPS连接需要几百毫秒的时间。对大多数人来说,这不是什么大问题,但它确实存在。

现在有人认为有人 - 无论是移动网络还是ISP或其他什么 - 可以通过注入广告等来改变HTTP,从而可能减慢网站的速度,但这不是速度差异的原因。

网站更快的原因是因为它在使用HTTPS时使用HTTP / 2而不是在使用HTTP时。 HTTP / 2比HTTP / 1.1快 - 特别是对于拥有大量资源的网站。

当然你可以说HTTP / 2只能通过HTTPS获得,而且确实如此*,推论不是 - 实现HTTPS不会自动为你提供HTTP / 2.

*从技术上讲,HTTP / 2根据规范要求使用HTTPS是不正确的,但是所有浏览器制造商都表示他们只会通过HTTPS支持这一点,因此它基本上适用于所有意图和目的。

此外,示例网站加载了360个小的且几乎相同(但非常不相同)的资源。确切地说,HTTP / 2非常擅长的东西。虽然普通网页正在增长,但大多数网页都不会在相同的图像附近加载360 - 因此网络延迟基本上是唯一的瓶颈。大多数还有其他问题与HTTP / 2大量改进的网络延迟问题无关。

HTTP / 2的速度提升非常令人印象深刻,它是未来,每个人都应该使用它,因为延迟 是一个主要的瓶颈。但该测试网站是一个极端的例子。根据确切的网站构成,HTTP / 2将主要抵消HTTPS和in many cases more than offset it的成本 - 但这并不意味着HTTPS本身更快。

使用HTTPS有很好的理由,这篇文章非常适合列出所有内容(第一个除外)。在我看来,HTTPS应该是默认值,每个人都应该转移到它 - 正是由于列出的其他原因。但是说HTTPS比HTTP更快就说谎了。或者,至少,它没有解释为什么可以更快,从而模糊了事实真相。然后列出HTTP / 2作为第二个,看似无关,有理由进一步混淆读者!我只是不明白为什么他们不能将这两点合二为一并充分解释这一点所以这样的问题不需要问?对于该示例网站也是如此 - 为什么没有常见问题解答来解释为什么 HTTPS显然更快?

答案 1 :(得分:-1)

历史上是的,https是http + ssl / tls,因此速度较慢

但现在使用spdy / http2,它是一个新协议,在处理多个请求时可能比http更快:

  • 它可以压缩标题,如果您多次发送相同的标题(如Cookie),它不需要完全发送它,只是一个id
  • 如果可以重用tcp连接,那么它可以避免打开多个tcp连接和高效流数据的重载

答案 2 :(得分:-1)

如果您使用某种网络扫描程序(例如防病毒组件,防火墙代理),它可能会扫描纯HTTP流量导致速度减慢。同时,除非您安装了有助于中间扫描程序处理HTTPS流量的特殊根证书,否则它不会触及加密的HTTPS流量。因此,如果有某种中间服务扫描HTTP流量,而不是HTTPS - 使用HTTPS会更快。