http和https

转自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安全层执行。

原文地址:https://www.cnblogs.com/susutong/p/10722242.html