http和https在性能上有什么主要的区别吗?我似乎记得读到过HTTPS的速度是HTTP的五分之一。这对当前的web服务器/浏览器有效吗?如果有,是否有相关白皮书支持?
当前回答
这里有一篇关于SSL握手延迟的很棒的文章(有点老,但仍然很棒)。帮助我确定SSL是客户端通过较慢的互联网连接使用我的应用程序的缓慢的主要原因:
http://www.semicomplete.com/blog/geekery/ssl-latency.html
其他回答
TLS快吗?是的。
看:https://www.youtube.com/watch?v=0EB7zh_7UE4 阅读:https://istlsfastyet.com/
有许多项目旨在模糊界限,使HTTPS一样快。比如SPDY和mod-spdy。
目前最上面的答案并不完全正确。
正如其他人在这里指出的,https需要握手,因此需要更多的TCP/IP往返。
在WAN环境中,延迟通常成为限制因素,而不是服务器上增加的CPU使用量。
请记住,从欧洲到美国的延迟大约是200毫秒(往返时间)。
您可以使用HTTPWatch轻松地测量这一点(对于单个用户情况)。
我可以告诉你(作为一个拨号用户),通过SSL访问同一个页面要比通过常规HTTP慢几倍…
2014年12月更新
您可以使用AnthumChris的HTTP vs HTTPS测试网站在自己的浏览器中轻松测试HTTP和HTTPS性能之间的差异:“此页面测量其在不安全的HTTP和加密的HTTPS连接上的加载时间。这两个页面都加载了360张独特的非缓存图像(总计2.04 MB)。”
结果可能会让你大吃一惊。
拥有最新的HTTPS性能知识是很重要的,因为让我们加密证书权威机构将在2015年夏天开始发布免费、自动化和开放的SSL证书,这要感谢Mozilla、Akamai、Cisco、电子前沿基金会和IdenTrust。
2015年6月更新
Let 's Encrypt更新-到2015年9月:
Let’s Encrypt Launch Schedule(2015年6月16日) 让我们加密根证书和中间证书(2015年6月4日) Let's Encrypt订阅协议草案(2015年5月21日)
更多推特信息:@letsencrypt
有关HTTPS和SSL/TLS性能的更多信息,请参阅:
TLS快吗? 高性能浏览器网络,第4章:传输层安全 超频SSL SSL处理的解剖和性能
有关使用HTTPS的重要性的更多信息,请参阅:
为什么什么都用HTTPS ?(仅https标准) Let 's Encrypt(互联网安全研究组) HTTPS无处不在(电子前沿基金会)
总而言之,让我引用Ilya Grigorik的话:“TLS只有一个性能问题:它的应用不够广泛。其他一切都可以优化。”
感谢Chris (HTTP vs HTTPS测试基准的作者)在下面给出的评论。
考虑到SSL需要一个非sll HTTP不需要的额外加密步骤,这几乎肯定是正确的。
推荐文章
- 有没有办法在python中做HTTP PUT
- .NET反射的成本有多高?
- 在c#中检查字符串是否只包含数字的最快方法
- JavaScript变量声明在循环外还是循环内?
- 我能在服务器端应用程序(PHP、Ruby、Python等)上读取URL的哈希部分吗?
- 什么是http头“X-XSS-Protection”?
- 自动HTTPS连接/重定向使用node.js/express
- 在nodejs http中body在哪里。得到回应?
- 为什么C语言这么快,为什么其他语言没有这么快或更快?
- String与StringBuilder
- Ruby:如何将散列转换为HTTP参数?
- 在用nodejs和express创建的REST API中设置响应状态和JSON内容的正确方法
- 为什么引入无用的MOV指令会加速x86_64汇编中的紧循环?
- 如何在SQL中有效地计数列值的发生?
- 使用curl在PHP中获取HTTP代码