HTTP请求过程:
HTTP通信中的数据都是明文传输的
HTTPS请求过程:
HTTPS=HTTP+SSL/TSL,为了保证数据传输过程中的安全性,采用对数据加密的方式,加密分为对称加密和非对称加密,这一系列的加密解密过程都是由SSL/TSL来完成的,
简单来说,安全连接主要解决两个问题:
1、客户端确认服务器的身份,得到服务器的公钥;
服务器的证书中包含了:服务器公钥,服务器的签名(身份信息)等。客户端先根据签名规则生成签名,并与服务器签名对比,对比成功即身份验证通过。保证了证书中包含的的确是服务器的公钥。
2、将对称加密的Salt(秘钥),通过服务器公钥加密后发送给服务器。
将对称加密的秘钥,通过服务器公钥加密后发送,因为只要服务器私钥可以解开这个加密信息,得到秘钥,保证可对称加密的秘钥不被其他人获取。(其他人就算获取了这个加密后的信息,因为匹配不上私钥,无法解开)
经过以上两个过程,保证了对称加密秘钥只有通信的双方知道,这样后续进行数据的传输就可以使用对称加密算法了。
如有不当之处,欢迎指正不胜感激