快捷搜索: 王者荣耀 脱发

http协议和https协议【详解】

http协议和https协议

1、http协议

版本进化历程:

1.0: 每次都要进行连接请求,才能进而传输数据,又断开连接,不能重复利用已建立的连接。

1.1: 可以利用已建立的连接,因为有keep-alive,可以使连接保持一段时间,也可以并行请求传输数据,但有上限。

存在的问题:(1)明文 没有压缩;(2)顺序块传输 速度慢,但有一个传输错误,则会重新传这个,导致后面无法进行;(3)herder长;(4)server不能主动push

2.0:(1)进行二进制传输 有压缩;(2)单连接+帧 乱序块传输,速度快;(3)header进行压缩;(4)server可以主动push

2、https协议

(1)对称加密

(2)非对称加密

(3)对称+非对称加密

对称+非对称也可能存在遭遇黑客,如下所示:

小结: 明文=裸奔 对称:key唯一=明文 非对称:S——>C不安全 对称+非对称:中间人

解决中间人问题:

(4)对称+非对称+CA

(5)https:对称+非对称+hash散列算法+CA

例:访问百度

  1. C——>S:支持SSL版本、 非对称算法 、随机数1 (SSL:是套接字加密,不是证书)
  2. S——>C:假设就用SSL1.0 、对称算法 、随机数2、 证书
  3. C:证书认证
  4. C——>S:随机数3 、hash(1,2)=xx对1、2步中的数进行hash算法得到一个xx发给S
  5. S:先验证xx==hash(1,2)?——>再把前面的随机数1、2、3用一个算法得到用于后面进行对称加密的Key
  6. S——>C:hash(1,2,4)=zz对1,2,4步中的数进行hash算法得到一个zz发给C
  7. C:先验证hash(1,2,4)==zz?——>再把前面的随机数1、2、3用一个算法得到用于后面进行对称加密的Key
经验分享 程序员 微信小程序 职场和发展