HTTP和HTTPS【图解记忆】

156 阅读1分钟

image.png

1、HTTP与HTTPS区别

HTTPS = HTTP + SSL/TLS

HTTPS 在HTTP的基础上加入了SSL/TLS协议,SSL/TLS 依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

  • SSL安全协议
    • HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。
    • HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。
  • 建立连接
    • HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。
    • HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。
  • 端口号
    • HTTP 默认端口号是 80
    • HTTPS 默认端口号是 443。
  • CA证书
    • HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

2、SSL/TLS的工作原理

SSL 和 TLS 没有太大的区别,TLS 是基于 SSL 之上的(SSL 3.0 进一步升级,新版本被命名为 TLS 1.0)。

SSL/TLS的核心要素是非对称加密。非对称加密采用两个密钥——一个公钥,一个私钥。在通信时,私钥仅由解密者保存,公钥由任何一个想与解密者通信的发送者(加密者)所知。

使用 SSL/TLS 进行通信的双方需要使用非对称加密方案来通信,但是非对称加密设计了较为复杂的数学算法,在实际通信过程中,计算的代价较高,效率太低,因此,SSL/TLS 实际对消息的加密使用的是对称加密