HTTPS VS HTTP速度对比(HTTPS vs HTTP speed comparison)

2019-07-19 05:09发布

更新2013年4月25日:

这是越来越多的关注比想象得要一个流行的问题。 为了停止误传,请阅读下面的段落和一篇文章中第一次的传播:

速度不应该在决定是否使用HTTPS或HTTP的一个因素。 如果您需要 HTTPS为您的网站的任何部分(造访,注册,信用卡等), 你绝对需要HTTPS的这一切 ,所有的时间。

请阅读SSL是不是加密的特洛伊亨特的原因。


我考虑根据HTTPS运行我的整个电子商务网站。 我决定跑粗基准通过HTTPS来衡量一个156KB的图像的下载时间与HTTP,因为我读的是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仍然较快; 虽然平凡在这种情况下。

如果有人看到我的基准测试中的缺陷让我知道这样我可以张贴更好的效果。

因此,在Godaddy的下午6:00左右在我的特定服务器的内容共享主机通过HTTPS提供比通过HTTP快。

Answer 1:

如果你看看你的时间HTTP有更大的等待时间和更小的接收时间。 HTTPS在另一方面具有较小的等待时间和更大的接收时间。 在共享托管服务器较忙我将其解释为http端口,从而一个请求,直到由服务器接受在队列中停留的时间更长。 一旦接受这些请求转移比HTTPS快。 的HTTPS端口有较少的流量的服务器上,以便被响应速度较快,但需要更长的时间来传输。

对于任何HTTPS与HTTP相比,你必须考虑到更大的时间握手与HTTP相比,HTTPS每个请求。 您应该看到做许多小请求时加重。



Answer 2:

您可能还需要考虑到,HTTPS文件将几乎从来没有在任何地方,除了用户的浏览器缓存的帐户,所以你可能会发现,虽然有个别用户相差不大,一个HTTP文件可以为大量的人共享是显著更快缓存。 (它仍然在一些地方相当普遍的互联网服务供应商通过共享代理缓存把他们的客户)

如果它的东西,你不介意用户共享的,当然。



Answer 3:

我想你看到,通过HTTPS更快的性能是不是侥幸。

请注意两件事情有关的结果:

  1. HTTP是总是在第一个“总”的结果速度更快,但在随后的总计慢。
  2. 该HTTPS结果是比较一致的。

现代负载均衡器通常会启用压缩,而SSL是在使用帮助的性能。 虽然这是真的,最初的SSL握手会带来实质性的延迟,用于维持会话的机制(以下简称“恢复握手”和对称加密,而不是非对称加密)仅增加微不足道的延迟。 其结果是,除非你的会议很短,你从压缩更多的性能优势比你从会话保持输。

该SSL招致大量的等待时间的传统观念是过时的(除非你的会议是非常短)。 一些谷歌工程师写了一篇文章解释有关SSL以前的一些假设条件如何都不再真实。



Answer 4:

HTTPS的工作原理如下:首先,进行4次握手(至少如果我没记错的话这是4路),这里的客户端和服务器同意以后和交换证书(含公钥)所使用的对称加密算法。

他们使用公钥加密交换会话(键对称ENC更高版本)。

现在,他们发送带有会话密钥和一些加密算法(3DES,AES,RC4,RC5等)加密的消息。 由于对称加密不贵操作中下载时间的差异并不大。

你有更少的等待时间,事实上是因为你可能有HTTP端口或流量少的流量少,在你没有比HTTP请求HTTPS请求的时间。

因此,为了优化性能,因为握手是一个相对昂贵的过程中,您应使用尽可能少的HTTPS连接成为可能。



Answer 5:

您是通过代理服务器访问您的网站? 如果是这样,因为这个代理服务器被绕过或减少到只使用处理初始连接请求,你可能会看到更好的性能。

代理可以检查和缓存内容时使用HTTP - 导致性能降低。



Answer 6:

在速度上的重大差别是很可能是由于GoDaddy的执行他们的服务器上HTTP压缩在努力节省带宽,但是这是一件与HTTPS连接的风格,因为它是新的,更好的优化,开始总是发生。



文章来源: HTTPS vs HTTP speed comparison