转自https://www.cnblogs.com/wind-lanyan/p/9211037.html
https是什么?
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。之所以安全是因为它在将HTTP报文发送给TCP之前,先将其发送给了一个安全层(通过SSL协议实现)对报文进行加密。
报文加密的优点
- 保证客户端和服务器的对话不会被其他人窃听
- 保证双方发送的数据不会中途被修改
- 确保双方的身份是真实客户端/服务器而不是伪造的客户端/服务器
不妨将报文想象成A给B写的一封信,A将信放在一个有锁的盒子里,那么旁人就不能获取信的内容也不能篡改信了。
完整的一次HTTPS交流
(1) 客户端通过TCP三次握手建立到服务器端口443(HTTPS的默认端口)的TCP连接
(2) 客户端通过SSL握手建立安全层
(3) 客户端发送http报文到SSL安全层,安全层将报文加密后发给TCP --> IP --> ...
(4) 同理服务器发送响应,客户端接收后通过SSL安全层解密发给应用层
(5) SSL安全层关闭通知
(6) TCP关闭连接
从上面的描述可以清晰的看到我们的报文加密/解密都是在SSL安全层执行。