ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HTTP Study

2022-07-22 12:10:04  阅读:144  来源: 互联网

标签:加密 Study 阻塞 TCP 服务器 HTTP 数字证书


HTTP 

定义:在两点之间传输文本,视频,图片等超文本数据的协议和规范

来自3.1 HTTP 常见面试题 | 小林coding (xiaolincoding.com)

HTTP风险

窃听:

通信使用明文,https通过信息加密(混合加密)解决

对称加密和非对称加密

篡改:

无法验证报文的完整性,https通过校验机制(摘要算法)解决

摘要算法 + 数字签名

摘要算法算出内容的哈希值

但是有人把内容和哈希值一起更换了就看不出来内容被篡改过了,因为没有识别服务器的身份,所以采用非对称加密(私钥加密,公钥解密,加密的不是内容,而是哈希值)

但是如果有人把公钥和私钥都换了呢,也还是不安全,那就引入数字证书

冒充:

无法验证通信方的身份,https通过身份证书(服务器公钥放在数字证书里)解决

数字证书:

个人信息+公钥+数字签名

首先CA机构用自己的私钥进行加密,生成数字签名,在服务器发送信息时附带发送数字证书

流程:服务端发送信息+数字证书-----------------》客户端拿到数字证书后使用CA的公钥解密确认数字证书的真实性-----------》使用服务器公钥对报文进行加密后发送-----------》服务器使用私钥解密

 

HTTPS连接过程

  1. 客户端向服务器索要并验证服务器的公钥。

  2. 双方协商生产「会话秘钥」。

  3. 双方采用「会话秘钥」进行加密通信。

Client Random、Server Random、pre-master key在前面的交换过程中双方都已确认,由这三部分组成之后对称加密的密钥

 

 

HTTP的演进

HTTP1.1 VS HTTP1.0

改进:

  1. 长连接

  2. 支持管道传输,接下来的请求不需等待前面的应答返回即可发送

缺点:

  1. 只压缩了Body部分,头部不可压缩,首部信息对延迟有影响

  2. 会导致响应的队头阻塞(服务器响应慢的话,客户端会一直收不到数据)

  3. 服务器不能主动发送

HTTP2

基于HTTPS

改进:

  1. 头部压缩:发现多个请求头部相似会去掉重复部分;实现原理:客户端和服务端会维护一张头信息表,一个字段对应一个索引,之后发送索引号就可以

  2. 二进制传输:不是纯文本形式的报文,而是全面采用了二进制格式(增加了数据传输的效率)

  3. 数据流:可指定优先级

  4. 多路复用:不用等待需要的返回数据全部加载完毕,可以先处理耗时短的请求(解决了队头阻塞问题,但是TCP层的队头阻塞问题并没有解决)

  5. 服务器可主动推送(减少了客户端的请求次数)

缺点:

  1. TCP层的队头阻塞问题并没有解决:TCP 层必须保证收到的字节数据是完整且连续的,这样内核才会将缓冲区里的数据返回给 HTTP 应用一旦发生丢包,就会阻塞住所有的 HTTP 请求,这属于 TCP 层队头阻塞。

     

HTTP3

改进:

  1. HTTP1.1通过管道解决了请求的队头阻塞,并没有解决响应的队头阻塞,HTTP2.0通过多个请求复用一个TCP连接解决了响应的队头阻塞但是没有解决TCP层面的阻塞,所以HTTP3使用UDP协议,基于QUIC实现可靠传输

QUIC特点:

  1. 无队头阻塞:(同一条TCP连接上可并发多个数据流),当某个流发生丢包只会阻塞自己,不影响其他

  2. 连接更快:对于HTTP1和HTTP2,先TCP握手再TLS握手

标签:加密,Study,阻塞,TCP,服务器,HTTP,数字证书
来源: https://www.cnblogs.com/zz01/p/16505237.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有