Nathaniel Varona Asked: 2009-06-13 06:53:46 +0800 CST2009-06-13 06:53:46 +0800 CST 2009-06-13 06:53:46 +0800 CST 为什么建立 https 连接比建立直接 http 连接需要更长的时间? 772 为什么安全 HTTP 连接 (https) 比典型的 HTTP (http) 慢? 只是有兴趣知道而已。 谢谢。 http security ssl encryption https 7 个回答 Voted Best Answer Dave Cheney 2009-06-13T07:00:26+08:002009-06-13T07:00:26+08:00 要打开 TCP/IP 连接,需要在客户端和服务器之间交换 3 个数据包。然后认为连接已建立,客户端可以提交其请求。 当 SSL 添加到 TCP/IP 连接之上时,在连接被认为已建立之前,必须发生一些额外的交互。 除非客户端和服务器之间的延迟可以忽略不计(读取,相同的网络),那么这个额外的延迟很可能是由于交换 SSL 握手数据的额外往返行程,而不是计算密钥材料的 CPU 开销,是建立 SSL 连接延迟的主要因素。 有关 TCP/IP 连接建立的更多信息 有关 SSL/TLS 握手的更多信息 pauska 2009-06-13T06:55:15+08:002009-06-13T06:55:15+08:00 简单来说:因为它对流量进行加密和解密,所以这需要双方(服务器和客户端)进行处理。 David Spillett 2009-06-13T07:05:28+08:002009-06-13T07:05:28+08:00 正如其他人所提到的,所有传输都有加密和解密步骤。不过还有两个问题: 当您第一次与服务器通信时的协商阶段,在此阶段服务器和浏览器协商加密过程的密钥,并且您的浏览器对服务器证书执行一些检查(如果您使用客户端证书,它会检查您的证书)。 事实上,HTTPS 连接上承载的任何内容(包括主页源、脚本、图像和样式表)都不应该被您的浏览器缓存,因此它必须在每次需要时重新请求对象,否则它会从缓存中获取这些对象。 Rob Bell 2009-06-13T07:04:23+08:002009-06-13T07:04:23+08:00 Jeff Moser 刚刚发布了一篇很好的文章,解释了来龙去脉、握手等。 http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html Jim Blizard 2009-06-13T06:57:53+08:002009-06-13T06:57:53+08:00 添加到pauska的答案: 大多数 Web 服务器平台都可以添加硬件/软件来提高服务器上 SSL 的性能。该产品做到了这一点。 Jack B Nimble 2009-06-13T06:56:20+08:002009-06-13T06:56:20+08:00 因为加密内容需要一点时间,而且加密一般会增加内容的大小。 phil 2015-04-24T11:15:06+08:002015-04-24T11:15:06+08:00 我也有建立安全连接滞后...我查看 chrome 高级参数。向下滚动到 https/ssl 并删除与 comodo 相关的所有证书(在第二个或第三个选项卡中找到它们,不记得了),再也没有建立安全连接滞后希望有所帮助
要打开 TCP/IP 连接,需要在客户端和服务器之间交换 3 个数据包。然后认为连接已建立,客户端可以提交其请求。
当 SSL 添加到 TCP/IP 连接之上时,在连接被认为已建立之前,必须发生一些额外的交互。
除非客户端和服务器之间的延迟可以忽略不计(读取,相同的网络),那么这个额外的延迟很可能是由于交换 SSL 握手数据的额外往返行程,而不是计算密钥材料的 CPU 开销,是建立 SSL 连接延迟的主要因素。
有关 TCP/IP 连接建立的更多信息
有关 SSL/TLS 握手的更多信息
简单来说:因为它对流量进行加密和解密,所以这需要双方(服务器和客户端)进行处理。
正如其他人所提到的,所有传输都有加密和解密步骤。不过还有两个问题:
Jeff Moser 刚刚发布了一篇很好的文章,解释了来龙去脉、握手等。
http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html
添加到pauska的答案:
大多数 Web 服务器平台都可以添加硬件/软件来提高服务器上 SSL 的性能。该产品做到了这一点。
因为加密内容需要一点时间,而且加密一般会增加内容的大小。
我也有建立安全连接滞后...我查看 chrome 高级参数。向下滚动到 https/ssl 并删除与 comodo 相关的所有证书(在第二个或第三个选项卡中找到它们,不记得了),再也没有建立安全连接滞后希望有所帮助