首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以https为单位的SSL会话的生存期

以https为单位的SSL会话的生存期
EN

Stack Overflow用户
提问于 2010-01-05 20:33:38
回答 3查看 16.8K关注 0票数 12

我们在同事之间进行了一次积极的(但友好的)讨论,讨论了基于https通信的SSL会话的生命周期。

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

问题是:对于对同一服务器的后续https请求(单击链接),旧的ssl会话是否会再次使用,从而避免为建立会话密钥而进行非对称加密的开销?或者是否需要使用新的非对称加密ssl握手来建立ssl会话?

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

由于我们在这里是一群吹毛求疵的人,引用一些权威来源将会被忽略。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-05 20:45:16

请参阅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

票数 4
EN

Stack Overflow用户

发布于 2012-10-24 02:44:43

用Chrome进行了测试:

导航到https://www.americanexpress.com。netstat显示:

代码语言:javascript
复制
$ 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显示:

代码语言:javascript
复制
$ 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

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

代码语言:javascript
复制
$ 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相同的保活超时。可以在此处查看这些超时:

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

票数 11
EN

Stack Overflow用户

发布于 2010-01-05 21:29:42

如果你的浏览器支持会话恢复,并且服务器已经缓存了会话,那么你可以在连接之间继续会话,GNUTLS支持这一点,你可以在这里看到一个演示:

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2005976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档