http请求的缺点:
- 1、明文传输,内容可能被窃听(容易造成密码等数据泄露)
- 2、无法验证通信方身份,有可能草鱼伪装(跨站点请求伪造)
- 3、无法验证内容的完整性,有可能被篡改(运营商劫持)
https握手过程:
1、客户端发起https请求
- 输入url,与服务器建立ssl连接
2、服务端响应
- 服务器接收到响应后,判断加密通信协议版本是否一致,一致则返回服务器证书,否则关闭加密通道。
3、客户端解析证书
- 客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥
4、客户端传输密钥给服务端
- 客户端利用公钥将秘钥加密, 并传输给服务端
5、服务端解密
- 服务端利用自己的私钥解密秘钥
6、完成加密过程
- 之后服务器与客户端使用秘钥加密传输