2013 年 4 月 25 日更新:
这是一个受欢迎的问题,它得到的关注超出了它可能应该得到的关注。为了阻止错误信息的传播,请先阅读以下段落和随附的文章:
速度不应成为决定使用 HTTPS 还是 HTTP 的因素。如果您网站的任何部分(登录、注册、信用卡等)都需要 HTTPS,那么您绝对需要始终使用 HTTPS。
我被考虑在 https 下运行我的整个电子商务网站。我决定运行一个粗略的基准来测量通过 https 与 http 的 156KB 图像的下载时间,因为我读到 https 承受着加密过程的额外开销。
基准测试是使用 Firefox 的 Firebug 执行的,只需在从空缓存下载图像时,将“等待”和“接收”时间(所有其他时间均为 0)从网络面板转录到 Excel。
我的结果出乎意料:
http: 11.233 seconds
Waiting Receiving Total
1.56 0.88 2.44
1.55 0.101 1.651
1.53 0.9 2.43
1.71 0.172 1.882
1.9 0.93 2.83
https: 9.936 seconds
Waiting Receiving Total
0.867 1.59 2.457
0.4 1.67 2.07
0.277 1.5 1.777
0.536 1.29 1.826
0.256 1.55 1.806
[明显] 来自基准的观察结果:
- 服务器响应更快,但 https 的下载时间比 http 慢。
- https 总体上要快很多(~10%)。
谁能解释为什么会发生这种情况?
你认为一个文档(html、css、javascript)会给出不同的结果吗?
有没有人有更好的基准下载方法?
这是测试图像:
[删除测试图像]
附加信息:
- 该网站位于通过 Godaddy.com 共享的托管帐户上。
- 如果您打算运行自己的基准测试,请不要添加“www”子域...无论如何我都将根用于静态内容。
- 在集成管道模式下使用 IIS7。
编辑:以下 1px GIF(35 字节)的基准测试:
http: 2.666 seconds
Waiting Receiving Total
0.122 0.31 0.432
0.184 0.34 0.524
0.122 0.36 0.482
0.122 0.34 0.462
0.126 0.64 0.766
https: 2.604 seconds
Waiting Receiving Total
0.25 0.34 0.59
0.118 0.34 0.458
0.12 0.34 0.46
0.182 0.31 0.492
0.134 0.47 0.604
结果:https还是更快;虽然在这种情况下微不足道。
如果有人发现我的基准测试中有缺陷,请告诉我,以便我发布更好的结果。
因此,在下午 6:00 左右的 Godaddy 共享主机上,我通过 https 提供的特定服务器内容比通过 http 更快。