HTTPS 是 HTTP 的加强版,
HTTPS 通过套接字协议(TLS)保证加密传输的安全性
具体过程如下
第一步
客户端 client 和 服务器 server 建立TCP连接
第二步
客户端发送一条 "Client Hello"信息给服务器;
这条数据中包括需要用到的加密算法和所能支持TLS的最新版本号;
服务器回应 "Server Hello"给客户端,通知客户端它已知道加密算法和TLS版本号;
服务器接着发送一个SSL证书给客户端;
该SSL证书包括了公钥 public key, host name 和 有效期 expiry dates等
第三步
客户端验证SSL证书,在验证之后客户端生成一个 Session Key 并用SSL的公钥加密发送给服务器;
服务器对接收的加密Session Key 用自己的私钥进行解密
第四步
客户端和服务器都拿到了相同的 Session Key(对称加密), 就可以对信息进行加密达到一对一通信的目的
参考资料:
https://blog.bytebytego.com/p/how-does-https-work-episode-6