http和https在性能上有什么主要的区别吗?我似乎记得读到过HTTPS的速度是HTTP的五分之一。这对当前的web服务器/浏览器有效吗?如果有,是否有相关白皮书支持?


当前回答

HTTPS确实会影响页面速度…

上面的引用揭示了许多人在网站安全和速度方面的愚蠢。HTTPS / SSL服务器握手会在进行互联网连接时造成初始停顿。在访问者的浏览器屏幕上开始呈现任何内容之前会有一个缓慢的延迟。这个延迟是用Time-to-First-Byte信息来衡量的。

HTTPS握手开销出现在时间到第一字节信息(TTFB)中。常见的TTFB范围从低于100毫秒(最好的情况)到超过1.5秒(最坏的情况)。但是,当然,使用HTTPS时,情况要差500毫秒。

无线3G连接的往返时间可以达到500毫秒甚至更多。额外的行程会使延迟加倍,达到1秒或更长时间。这对手机性能有很大的负面影响。非常坏的消息。

我的建议是,如果你不交换敏感数据,那么你根本不需要SSL,但如果你确实喜欢电子商务网站,那么你可以在某些交换敏感数据的页面上启用HTTPS,比如登录和结账。

来源:Pagepipe

其他回答

考虑到SSL需要一个非sll HTTP不需要的额外加密步骤,这几乎肯定是正确的。

开销不是由于加密造成的。在现代CPU上,SSL所需的加密是微不足道的。

造成这种开销的原因是SSL握手,它很长,并且极大地增加了HTTPS会话与HTTP会话之间所需的往返次数。

当服务器处于模拟的高延迟链接末端时,测量(使用Firebug等工具)页面加载时间。有工具可以模拟一个高延迟的链接——对于Linux,有“netem”。在相同的设置中比较HTTP和HTTPS。

延迟可以通过以下方法在一定程度上减轻:

确保您的服务器正在使用HTTP keepalives—这允许客户端重用SSL会话,从而避免了再次握手的需要 将请求的数量减少到尽可能少——通过在可能的地方组合资源(例如.js包括文件,CSS)和鼓励客户端缓存 减少页面加载的次数,例如,将不需要的数据加载到页面中(可能是隐藏的HTML元素),然后使用client-script显示它。

HTTPS确实会影响页面速度…

上面的引用揭示了许多人在网站安全和速度方面的愚蠢。HTTPS / SSL服务器握手会在进行互联网连接时造成初始停顿。在访问者的浏览器屏幕上开始呈现任何内容之前会有一个缓慢的延迟。这个延迟是用Time-to-First-Byte信息来衡量的。

HTTPS握手开销出现在时间到第一字节信息(TTFB)中。常见的TTFB范围从低于100毫秒(最好的情况)到超过1.5秒(最坏的情况)。但是,当然,使用HTTPS时,情况要差500毫秒。

无线3G连接的往返时间可以达到500毫秒甚至更多。额外的行程会使延迟加倍,达到1秒或更长时间。这对手机性能有很大的负面影响。非常坏的消息。

我的建议是,如果你不交换敏感数据,那么你根本不需要SSL,但如果你确实喜欢电子商务网站,那么你可以在某些交换敏感数据的页面上启用HTTPS,比如登录和结账。

来源:Pagepipe

HTTPS有加密/解密的开销,所以它总是会稍微慢一点。SSL终止是非常消耗CPU的。如果您有卸载SSL的设备,则延迟的差异可能几乎不明显,这取决于服务器所处的负载。

一个更重要的性能差异是HTTPS会话在用户连接时保持打开。一个HTTP“会话”只持续一个项目请求。

如果你正在运行一个有大量并发用户的网站,预计会购买大量内存。