复习:HTTPS和http2.0的改进

HTTPS和HTTP是什么?

通信协议。http对数据进行明文传输,https对传输的数据进行加密、证书验证、完整性验证,更加安全。

HTTPS

工作过程

  1. 客户端发送请求。
  2. 服务端返回公开密钥证书。
  3. 客户端验证证书,产生会话秘钥并通过公开秘钥加密,将密文发送给服务端。
  4. 服务端通过私有秘钥解密,获得会话秘钥。信道建立完成。将明文内容A用会话秘钥加密,传给客户端。
  5. 客户端收到用会话秘钥解密获得明文,并再次传输。

加密

解决内容可能被窃取的问题,秘钥是转换算法中的一些参数。

对称加密

客户端和服务端用同一个秘钥。传输时还需要携带秘钥告诉解密方,存在的问题:传输过程中拦截了就获得了秘钥可以对信息进行解密。

非对称加密

加密解密存在公开密钥和私有秘钥。私有秘钥只有网站服务端才有,用来解公开密钥加密后的密文。

证书验证

解决通信方可能被伪装的问题。

可信赖的数字证书第三方机构

公开密钥放入秘钥证书绑定在一起。

完整性验证

解决报文信息可能被恶意篡改的问题。

数字签名

确认由正确发送方发出;确认无修改。加密私钥,解密公钥。

  1. 发送方通过HASH函数对文本生成摘要信息,对摘要信息通过私钥进行加密,传输时将摘要信息密文一起传输。
  2. 接收方收到数据,非对称解密之后,对文本同样进行摘要处理,将收到的摘要信息通过公钥解密,将解密后的摘要信息和接收方提取的摘要信息比对。
  3. 如果一致,则说明信息没有被篡改。
    理解:摘要公私钥,信息会话,同样方式提取摘要,比对公私摘要。

HTTPS和HTTP的区别

  1. 端口:HTTPS标准端口为443,HTTP端口为80
  2. 搜索引擎:优先显示HTTPS通信的网站
  3. 证书:有无SSL证书
  4. 安全性

为什么不是所有的网站都用https?

  1. 流程
  2. 消耗:优化,证书部署到SLB或者CDN上
  3. 资金开销
  4. 安全意识

http1.0存在的问题

  1. 文本传输请求头部
  2. 每个请求新建TCP连接,然而浏览器对请求由数量限制,队头阻塞导致资源加载等待。

http2.0的改进

  1. 多路复用。一个TCP连接复用传输所有数据。
  2. 二进制传输。
  3. 头部压缩编码和两端维护索引表,记录头部信息。传输可以查询索引表键名找到键值。
  4. 服务端主动push必要资源。

http2.0存在的问题

  1. tcp丢包重传重建,资源等待
posted @ 2020-09-16 23:58  vera-7c  阅读(264)  评论(0编辑  收藏  举报