HTTPS通信过程
总体分为三大阶段
1、TCP三次握手
2、TLS的连接
3、HTTP请求和响应
TLS连接
1、clientHello
2、server Hello - 服务器选择的加密套件等
3、Certificate - 服务器返回的公钥证书(被CA签名过的)
4、server key Exchange - 传递 加密随机数 的参数,来在客户端生产随机数
5、server Hello Done
告知客户端:协商部分结束
到目前为止,客户端和服务器之间通过明文共享了
而且,客户端也拿到了服务器的公钥证书
6、client Key Exchange
客户端发送一个 加密随机数 的参数, 通过客户端和服务端的几个参数最终生成加密会话的会话密钥
7、Change Cipher Spec
告知服务器:之后的通信会采用计算出来的会话密钥进行加密
8、Finished
将之前的所有信息进行获取之后,通过会话密钥进行加密,发送给服务器
9、Change Ciper Spec 10 、Finished和上边的7、8其实是一样的
HTTPDNS
其原理是客户端向第三方的DNS服务器(其实是一个http服务器)发送http网络请求,可以很快的获取到具体对应的网络ip地址。下面是一张图