【问题标题】:Is HTTP2 + SSL faster than HTTP without SSL?HTTP2 + SSL 比没有 SSL 的 HTTP 快吗?
【发布时间】:2017-01-10 10:50:43
【问题描述】:

正如标题所说,

我目前有一个网站在敏感页面上使用 https 并在其余页面上缓存 http 以提高速度。

我知道 HTTP2 比 HTTPS 更快。我不知道的是 HTTP2 是否比普通的未加密 HTTP 更快?

如果我使用 SSL 加密所有内容并启用 HTTP2,与使用不加密但有缓存的 HTTP 相比,我会看到性能改进吗?

【问题讨论】:

  • 很大程度上取决于网站。如果您提供没有外部 css、javascript 或字体的静态 HTML 页面,则仅使用 HTTP 会更快。根据我的经验,尽管走出这些严格的限制太容易了。

标签: http http2


【解决方案1】:

这完全取决于您的网站。

不过,话虽如此,there is practically zero noticeable speed penalty for using HTTPS nowadays - 除非您使用 20 年的硬件或提供大量内容(例如,您是 Netflix 或 YouTube 等流媒体网站)。事实上,甚至 YouTube 也为几乎所有用户切换到 HTTPS:https://youtube-eng.blogspot.ie/2016/08/youtubes-road-to-https.html?m=1

有一个小的初始连接延迟(通常为 0.1 秒),但之后几乎没有延迟,如果在 HTTP/2 上,那么 m 给大多数网站带来的收益将远远弥补微小的,不明显,HTTPS 可能会增加延迟。

事实上,如果您的某些网站已经使用 HTTPS,那么您可能正在某些网站上使用 HTTPS 资源(例如,HTTP 和 HTTPS 页面都使用的常见 CSS)并且已经遇到这种延迟,因为您需要即使在 HTTP 上也可以通过 HTTPS 连接以获取它们,或者您使它们在两者上都可用,并让您的 HTTPS 用户在切换时再次下载它们。

您可以在我的博客上使用几个示例网站来测试差异,以便为您提供一些差异指示:https://www.tunetheweb.com/blog/http-versus-https-versus-http2/ - 这是对https://www.httpvshttps.com 网站的回应,我觉得也没有解释这一点应该的。

【讨论】:

  • 优秀的答案!谢谢你。我的托管服务提供商确实通过 HTTPS 提供缓存,所以我最终克隆了我的服务器并运行了一些测试。一种在带有缓存和 CDN 的 http 上,一种在带有 HTTPS 缓存和 HTTPS CDN 的 http2 上。明显的区别是初始响应时间。最快的加载时间从 1.7 秒变为 2.8 秒。但是,我可能会通过一些调整来解决这个问题,但看起来在我的硬件(Digital Ocean)上,与 https 相比,使用 http 加载站点的速度略快一些。话虽如此,鉴于 https 的好处,差异可以忽略不计。
  • 1 秒的初始加载延迟听起来很多。在 ssllabs.com/ssltest 检查您的 HTTPS 设置,尤其是您使用的密码。如果 Digital Ocean 处理 HTTPS 设置,不确定您对此有多少控制权。
  • 我进行了测试,我在寻找什么?我的总体评分为 A,密码缓存为 85 / 100。这是按服务器偏好顺序排列的最重要的内容:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp256r1 (eq. 3072 bits RSA) FS
  • 这是一种现代、快速的密码。也意味着您正在使用现代版本的 SSL/TLS 库(例如 openssl)。证书密钥大小(第 1 部分)是 2048 位吗?对于缓存或票证,会话恢复(底部)是否是。报告中是否有任何警告?
猜你喜欢
  • 2010-12-09
  • 2016-06-30
  • 1970-01-01
  • 2021-11-18
  • 2017-09-14
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 2011-09-15
相关资源
最近更新 更多