http和https在性能上有什么主要的区别吗?我似乎记得读到过HTTPS的速度是HTTP的五分之一。这对当前的web服务器/浏览器有效吗?如果有,是否有相关白皮书支持?
当前回答
这里似乎有一个令人讨厌的边缘情况:Ajax胜过拥塞的wifi。
Ajax通常意味着KeepAlive在20秒后超时。然而,wifi意味着(理想的快速)ajax连接必须进行多次往返。更糟糕的是,wifi经常丢包,并且有TCP重传。在这种情况下,HTTPS执行得非常非常糟糕!
其他回答
HTTPS有加密/解密的开销,所以它总是会稍微慢一点。SSL终止是非常消耗CPU的。如果您有卸载SSL的设备,则延迟的差异可能几乎不明显,这取决于服务器所处的负载。
目前最上面的答案并不完全正确。
正如其他人在这里指出的,https需要握手,因此需要更多的TCP/IP往返。
在WAN环境中,延迟通常成为限制因素,而不是服务器上增加的CPU使用量。
请记住,从欧洲到美国的延迟大约是200毫秒(往返时间)。
您可以使用HTTPWatch轻松地测量这一点(对于单个用户情况)。
这里似乎有一个令人讨厌的边缘情况:Ajax胜过拥塞的wifi。
Ajax通常意味着KeepAlive在20秒后超时。然而,wifi意味着(理想的快速)ajax连接必须进行多次往返。更糟糕的是,wifi经常丢包,并且有TCP重传。在这种情况下,HTTPS执行得非常非常糟糕!
我可以告诉你(作为一个拨号用户),通过SSL访问同一个页面要比通过常规HTTP慢几倍…
有一种方法可以衡量这一点。来自apache的jmeter工具将测量吞吐量。如果您在受控环境中使用jmeter对您的服务进行了大量采样,无论是否使用SSL,都应该得到相对成本的准确比较。我对你的结果很感兴趣。
推荐文章
- 什么是HTTP“主机”报头?
- 加快R中的循环操作
- INT和VARCHAR主键之间有真正的性能差异吗?
- 哪个HTTP状态代码表示“尚未准备好,稍后再试”?
- c++标准是否要求iostreams的性能很差,或者我只是在处理一个糟糕的实现?
- 如何找出如果你使用HTTPS没有$_SERVER['HTTPS']
- 大概的成本访问各种缓存和主存储器?
- 模拟慢速互联网连接
- 如何检查表上持有哪些锁
- 检查字符串是否包含字符串列表中的元素
- 最好的方法在asp.net强制https为整个网站?
- Scala vs Python的Spark性能
- 现代c++能让你免费获得性能吗?
- 对于PostgreSQL表来说,多大才算太大?
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?