HTTPS
对称加密:key只有一个
非对称加密:
先利用非对称加密协商一个对称加密的key。
1.索要公钥
2.使用公钥对num1加密为y传给服务端。服务端用私钥将y进行解密为num1。就作为公钥。服务端通知客户端ok,协商完成,
3.之后就可以进行对称加密
中间人问题:在请求公钥就介入了
解决:CA权威机构,解决判断拿到的公钥是否正确
1.服务器将公钥通过CA给的私钥进行非对称加密得到证书license,需要付费
2.客户端请求证书,从内存中拿到CA公钥,将证书进行解密,
1.客户端向服务端发送: SSL版本,非对称算法,随机数s1
2.服务端向客户端发送:就用SSL,对称加密,随机数s2,证书
3,客户端认证证书。
4.客户端向服务端发送:随机数s3,hash(s1,s2)=xx
5.hash(s1,s2)==xx?,随机数s123生成为key。
6.服务端向客户端发送:hash(s1,s2,s3)=zz
7.C:hash(s1,s2,s3)==zz?,随机数s123生成为key。
HTTP协议历史概述
HTTP协议历史概述
1.HTTP0.9
2.HTTP1.0:请求头+请求体。
短链接,无法复用链接
3.HTTP1.1:connection:keep-alive.
长连接:防止来回链接
多个连接:并行发送,最多6个
4.HTTP2.0:
解决问题:
1. 明文传输,未压缩。
2.传输
3.header很长
4.server端无法主动push。
解决方法
1.对原来的明文压缩,并进行二进制传输
2.单链接+打散成帧
3.头部压缩
4.主动push。
5.HTTP3.0
TCP->UDP