如果使用了 https 协议,那么在建立 tcp 连接之后,还会进行 tls 握手。也就是 https 的证书验证和密钥传输的过程。简化的流程如下:
- 客户端发送请求
- 服务端返回证书
- 客户端验证证书,提取公钥,生成对称加密的密钥,用公钥加密后发送给服务端
- 服务端收到请求,用私钥揭秘,得到对称加密的密钥,用密钥加密数据进行通信
关于https 的这个简化的 tls 握手逻辑可以配合 https 的中间人攻击流程进行理解,具体请参考这篇文章。
为什么说他是简化的逻辑,因为还有很多逻辑,请参考这篇文章。