【网络】HTTP报文信息

2023-09-18 22:18:52

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

更多推荐

Zygote Secondary:加速应用启动的未来之路

ZygoteSecondary:加速应用启动的未来之路1.引言在现代的移动应用开发中,启动速度和响应性能是用户体验的重要方面。然而,传统的Android进程管理方式在启动应用时会出现性能瓶颈,导致启动时间过长和资源占用过多。为了解决这一问题,Google引入了一个创新的技术——ZygoteSecondary。Zygot

网络电视机顶盒怎么样?百元价位最佳网络机顶盒排名

网络电视机顶盒无疑是家家户户必备的,用网络机顶盒可以看电视,玩游戏,上网课,K歌,购物等,你认为网络电视机顶盒怎么样?值不值得买?本期我盘点了百元价位段最佳网络机顶盒排名,想买网络机顶盒可以从以下五款中选择。榜一:泰捷WEBOX40S网络机顶盒推荐理由:极致性价比,超大内存泰捷WEBOX专注音视频技术处理、解码、传输有

云存储目前面临的3个问题

云存储目前面临的3个问题1、基础设施性能不一定要求越高越好,而是有多种性能区以供用户选择,但基本上还是要满足较低延迟,早期的云计算平台在由于忽略对后端存储投入而出现比较多的IO延迟。另外,被存储的数据中有70%是静态的,很少甚至不会再次被访问,那么将这些数据通过自动化的ILM(信息生命周期管理)沉降到更低成本的介质上去

靶场练习——SDcms文件上传漏洞靶场

文章目录前言一、寻找网站后台页面1、点击请登录,查看URL2、修改URL参数,找到后台登录页面二、登录后台管理系统1、不能使用爆破2、使用弱口令登录三、寻找文件上传点四、上传文件操作1、上传普通的图片文件,查看数据包2、尝试上传PHP文件3、上传phpinfo()函数,获取系统版本信息4、绕过过滤五、尝试上传websh

Wish下单支付教程,测评养号需要满足哪些技术要点?

Wish是2011年成立的一家高科技独角兽公司,有90%的卖家来自中国,也是北美和欧洲最大的移动电商平台。它使用一种优化算法大规模获取数据,并快速了解如何为每个客户提供最相关的商品,让消费者在移动端便捷购物的同时享受购物的乐趣,被评为硅谷最佳创新平台和欧美最受欢迎的购物类APP。1.打开wish首页,注册账号。2.进入

SSL证书如何做到保障网站安全?

当网站显示不安全时,用户会在头脑中产生该网站是否合法的疑问,如果是购物网站或者购物商城,那意味着可能会损失大部分的用户。而SSL证书能有效保障网站的安全性,轻松解决网站不被用户信任的问题。那么,SSL证书究竟是如何保障网站安全的呢?本文将为大家解答这一问题。SSL证书怎么保障网站安全?加密通信SSL证书是在Web服务器

【JAVASE】图书管理系统

⭐作者:小胡_不糊涂🌱作者主页:小胡_不糊涂的个人主页📀收录专栏:浅谈Java💖持续更文,关注博主少走弯路,谢谢大家支持💖图书管理系统1.设计思路图2.创建book包2.1Book类2.2BookList类3.创建operation包3.1FindOperation类-查找图书3.2AddOperation类-

电子图书馆

bookget支持一下电子图书馆藏书:中国地区数字图书馆:国家图书馆http://read.nlc.cn/thematDataSearch/toGujiIndex北京故宫博物院-故宫名画记https://minghuaji.dpm.org.cn/广州大典http://gzdd.gzlib.gov.cn/Hrcanton

时间序列的重采样和pandas的resample方法介绍

重采样是时间序列分析中处理时序数据的一项基本技术。它是关于将时间序列数据从一个频率转换到另一个频率,它可以更改数据的时间间隔,通过上采样增加粒度,或通过下采样减少粒度。在本文中,我们将深入研究Pandas中重新采样的关键问题。为什么重采样很重要?时间序列数据到达时通常带有可能与所需的分析间隔不匹配的时间戳。例如以不规则

DETR纯代码分享(八)position_encoding.py(models)

一、导入一些Python库和模块importmathimporttorchfromtorchimportnnfromutil.miscimportNestedTensor上面的代码段主要是Python代码,用于导入一些Python库和模块,以下是对每行代码的详细解释:importmath:这一行代码导入了Python的

【STM32笔记】HAL库I2C通信配置、读写操作及通用函数定义

【STM32笔记】HAL库I2C通信配置、读写操作及通用函数定义文章目录I2C协议I2C配置I2C操作判断I2C是否响应I2C读写附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践

热文推荐