以https为单位的SSL会话的生命周期

Jen*_*der 9 ssl https session lifetime

我们在同事之间就https通信所基于的SSL会话的生命周期进行了讨论(但是很友好).

当我使用普通浏览器建立到服务器的https连接时,底层ssl使用非对称加密创建会话(包括共享密钥),其余的通信使用(更快)对称加密进行加密.

问题是:在对同一服务器的后续https请求(单击链接)上,是否再次使用旧的ssl会话,避免了非对称加密的开销以建立会话密钥?或者是一个新的非对称加密的ssl握手,用于建立必要的ssl会话?

或者换一种说法:SSL会话在https请求之间保持活动状态,还是以https请求结束?

由于我们在这里是一堆挑剔,因此对某些授权来源的引用会被贬低.

Pre*_*ays 10

使用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
Run Code Online (Sandbox Code Playgroud)

在导航到网站上的其他链接时,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
Run Code Online (Sandbox Code Playgroud)

会议保持活力.当我关闭浏览器选项卡并重新打开选项卡时,打开了另一个连接:

$ 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
Run Code Online (Sandbox Code Playgroud)

看起来现代浏览器使用与http相同的保持活动超时.这些超时可以在这里查看:

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


And*_*gor 5

请参阅http://www.ietf.org/rfc/rfc2818.txt的第 2.2 节和http://www.ietf.org/rfc/rfc2616.txt的第 8.1 节

本质上,当客户端维护持久连接时,应该维护 SSL 会话。

有关流行浏览器中持久连接实现的更多信息,请参阅http://en.wikipedia.org/wiki/HTTP_persistent_connection#Use_in_web_browsers