TLS现在快了吗?是的。
这里似乎存在一个棘手的边缘情况:拥塞的wifi上的Ajax。
Ajax通常意味着KeepAlive在20秒后超时。然而,wifi意味着(理想情况下快速的)ajax连接必须进行多次往返。更糟糕的是,wifi经常丢失数据包,并且存在TCP重传。在这种情况下,HTTPS表现非常糟糕!
由于我正在为我的项目调查同样的问题,所以我找到了这些幻灯片。虽然老旧但很有趣:
http://www.cs.nyu.edu/artg/research/comparison/comparison_slides/sld001.htm
HTTPS确实会影响页面速度...
上述引用揭示了许多人对网站安全和速度的愚蠢认识。HTTPS/SSL服务器握手在建立Internet连接时会产生初始停顿。在您的访问者浏览器屏幕上开始呈现任何内容之前,会有一个缓慢的延迟。这种延迟以“Time-to-First-Byte”信息来衡量。
HTTPS握手开销出现在“Time-to-First-Byte”信息(TTFB)中。常见的TTFB范围从100毫秒以下(最佳情况)到1.5秒以上(最坏情况)。但是,当然,使用HTTPS会更差500毫秒。
往返,无线3G连接可能需要500毫秒或更长时间。额外的往返行程会将延迟加倍,达到1秒或更长时间。这对移动性能有很大的负面影响。非常糟糕的消息。
我的建议是,如果您不交换敏感数据,则根本不需要SSL,但如果您像电子商务网站一样需要交换敏感数据,则可以仅在登录和结账等某些页面上启用HTTPS。
来源:Pagepipe
几乎可以肯定,因为SSL需要额外的加密步骤,而非SSL HTTP则不需要。
HTTPS具有加密/解密开销,因此它始终会稍微慢一些。 SSL终止非常消耗CPU资源。如果您有设备可以卸载SSL,则根据服务器负载情况,延迟差异可能几乎不可察觉。
有一种方法可以衡量这个。Apache 的工具 jmeter 可以测量吞吐量。如果您使用 jmeter 在受控环境下设置大量的服务采样,包括 SSL 和非 SSL,您应该能够得到相对成本的准确比较。我很想知道您的结果。