前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【网络】HTTP报文信息

【网络】HTTP报文信息

作者头像
且陶陶
发布2023-10-16 09:59:31
1720
发布2023-10-16 09:59:31
举报
文章被收录于专栏:Triciaの小世界Triciaの小世界

报文: 用于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范围。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 请求报文&响应报文
    • 报文结构
      • 请求报文:
      • 响应报文:
      • 概念阐述
  • 编码
    • 报文主体&实体主体
      • 内容编码
        • 常见编码格式:
      • 分块传输编码
        • 多部分对象集合
          • 获取部分内容的范围请求
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档