https中SSL会话的生命周期是多久?

15
我们的同事们进行了一场积极(但友好)的讨论,探讨了HTTPS通信下SSL会话的生命周期。
当我使用普通浏览器建立HTTPS连接到服务器时,底层的SSL会话(包括共享密钥)使用非对称加密来创建,其余通信则使用(更快的)对称加密进行加密。
问题是:在随后的HTTPS请求(点击链接)中,是否再次使用旧的SSL会话,避免使用非对称加密进行会话密钥的建立带来的开销?或者需要通过新的非对称加密的SSL握手来建立SSL会话?
或者换句话说:SSL会话在HTTPS请求之间是否继续保持活动状态,还是随着HTTPS请求结束而结束?
由于我们是一群吹毛求疵的人,在此提供权威来源的参考将不胜感激。
3个回答

12

我用Chrome测试过了:

前往https://www.americanexpress.com。netstat显示:

$ netstat -n -p tcp|grep 184.86.149.155
tcp4       0      0  10.177.78.58.50311     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50310     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50309     184.86.149.155.443     ESTABLISHED

在访问网站上的其他链接时,netstat显示:

$ netstat -n -p tcp|grep 184.86.149.155
tcp4       0      0  10.177.78.58.50311     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50310     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50309     184.86.149.155.443     ESTABLISHED

会话已经保持活动状态。当我关闭浏览器选项卡并重新打开选项卡时,另一个连接被打开:

$ netstat -n -p tcp|grep 184.86.149.155
tcp4       0      0  10.177.78.58.50398     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50311     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50310     184.86.149.155.443     ESTABLISHED
tcp4       0      0  10.177.78.58.50309     184.86.149.155.443     ESTABLISHED

现代浏览器使用与HTTP相同的keep-alive超时时间。这些超时时间可以在此处查看:

http://gabenell.blogspot.com/2010/11/connection-keep-alive-timeouts-for.html


5

SSL 会话是否用于创建新的 HTTP 会话? - Kevin Meredith

3
如果您的浏览器支持会话恢复且服务器已缓存会话,则可以在连接之间继续会话,GNUTLS 支持此功能,您可以在此处查看演示:

https://test.gnutls.org:5556/


1
那个服务器不再可用。 - David Balažic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接