首先客户端握手阶段发送Client Hello子消息,里面的Session ID值是为空的。
一次完整的握手阶段结束后,客户端和服务器端都保存有这个Session ID,在本次会话关闭,下一次再次访问相同的HTTPS网站时,客户端浏览器会在Client Hello子消息中附带这个Session ID值,服务器端接收到请求后,将Session ID与自己在Server Cache中保存的Session ID进行匹配,如果匹配成功,那么服务器端就会恢复上一次的TLS连接,使用之前协商过的密钥,不重新进行密钥协商
客户端和服务器端各自将Session ID保存在自己本地中,客户端保存在内存里,服务器端保存在Server Cache中。
tls握手完成以后,服务器会发送一个Session Ticket给浏览器,这个session ticket包含了这个ticket的生命周期等信息。
session ticket作用:握手阶段用来建立TLS连接。如果出于某种原因,对话中断,就需要重新握手。客户端只需发送一个服务器在上一次对话中发送过来的session ticket。这个session ticket是加密的,只有服务器才能解密,其中包括本次对话的主要信息,比如对话密钥和加密方法。当服务器收到session ticket以后,解密后就不必重新生成对话密钥了。就可以继续使用上一次的连接了。
https://blog.csdn.net/wteruiycbqqvwt/article/details/117220323
tcp三次握手,第三次带参。然后再进行tls1.2的四次握手,请求完数据后再tcp四次挥手(tcp和tls同时进行握手,得先成功连接过一次
并且tls1.3
,服务端和客户端都开启了Fast Opten
)