【网络】HTTP报文信息

报文: 用于HTTP协议交互的信息称之为报文。它是由多行数据构成的字符串文本。

请求报文: 客户端的HTTP报文。

响应报文: 服务器端的HTTP报文。

请求报文&响应报文

报文结构

请求报文:

在这里插入图片描述

响应报文:

在这里插入图片描述

概念阐述

  1. 请求行:包含请求的方法,用于请求URI和HTTP版本。
  2. 状态行:包含表明响应结果的状态码、原因短句、HTTP版本。
  3. 首部字段:包含表示请求和响应的各种条件和属性的各类首部。
    1. 一般有各种首部:通用首部、请求首部、响应首部、实体首部。

编码

HTTP有两种传输数据的方式:

  1. 按照数据原貌直接传输
    1. 效率慢
  2. 传输过程中通过编码提高效率
    1. 效率高
    2. 但是会消耗更多的CPU资源

报文主体&实体主体

报文:

HTTP通信的基本单位,由8位组字节流组成,通过HTTP通信传输。

实体:

作为请求或响应的有效载荷数据被传输。内容由实体首部和实体主体构成。
HTTP报文主体:用于传输请求或者响应的实体主体。
📎 一般来说 报文主体 == 实体主体 。但是当传输过程中进行编码操作时,实体主体的内容发生变化,会导致和报文主体产生差异。

内容编码

指明应用在实体内容上的编码格式,并保持实体信息原样压缩,内容编码后的实体由客户端接收并负责解码。

在这里插入图片描述

常见编码格式:

  1. gzip
  2. compress
  3. deflate
  4. identity

分块传输编码

在传输大的数据时,通过把数据分成多块,让浏览器逐步显示页面

步骤:

  1. 将实体主体分为多个部分,每一块用16进制标记块的大小。最后一块用0(CR+LF) 来标记。
  2. 客户端负责解码,恢复到编码前的实体主体。

在这里插入图片描述

多部分对象集合

可以发送多种数据:

  1. multipart/form-data: 用于表单文件上传。

  2. multipart/byteranges: 响应报文包含了多个范围的内容时使用。

步骤:

  1. 报文中使用多部分对象集合时,要在首部字段加上Content-type,
  2. 使用boundary字符串划分多部分对象集合指明的各类实体。

获取部分内容的范围请求

在这里插入图片描述

要实现该场景需要指定下载的实体范围。

范围请求: 指定范围发送的请求

执行范围请求时,用到首部字段Range指定资源的byte范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且陶陶º

感谢大人投喂~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值