- 什么是HTTP数据包
- 什么是HTTP
- HTTP:(HyperTextTransferProtocol)(超文本传输协议)的缩写是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议。
- HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。
- HTTP是一个属于应用层的协议,由于其简捷、快速的方式,适用于分布式 超媒体信息系统。
- 什么是数据包
- 数据包是计算机网络中传输的基本单位。它通过TCP/IP协议栈进行传输。
- 数据包中包含了数据的内容以及用于传输和处理数据的相关信息。(发送者和接收者的地址信息等)
数据包可以沿着不同的路径在一个或多个网络中传输,并在目的地重新组合。即发送者将数据分割成适当大小的数据包,并通过网络将它们发送给接收方。接收者接收到数据包后,根据头部信息进行解析和处理,提取出载荷数据,并进行相应的操作,如显示、存储、处理等。
更多数据包知识请参考
什么是数据包,数据包是用来干什么的?_制定一个规则,是网络中全部数据包做同一个路径-CSDN博客
转自(xiaoyaozi2020)
- HTTP数据包的字段解读
以burp抓取一个数据包为例了解字段的含义。
- 数据包主要分两块结构:请求结构和响应结构。
- 请求结构
- 大致分请求行,请求头,空行,请求数据四部分。
请求行:
包含了HTTP请求的方法、目标URL路径和使用的HTTP协议版本。
- 方法:指定请求的操作类型,如GET、POST、PUT、DELETE等。上文抓包所请求的就是GET。
- 目标URL路径(Path):指定请求的资源路径。
- HTTP协议版本(Version):指定使用的HTTP协议版本,如上文请求头中的HTTP/1.1
请求头:包含了关于请求的附加信息和元数据。每个请求头字段都以字段名和字段值的形式出现,以冒号分隔,位于请求行之后,每个字段占据一行。
常见的请求头字段:
空行:是请求头和请求正文之间的空行,用于分隔请求头和请求正文。
请求数据:发送给服务器的数据。它通常在POST或PUT请求中使用,用于向服务器传递表单数据、JSON数据、文件等。请求数据的格式和内容取决于请求所携带的数据类型和应用程序的要求。
- 响应结构
- 大致分状态行,响应头,空行,响应数据四部分。
状态行:包含了HTTP响应的协议版本、状态码和状态信息。它由三个部分组成,以空格分隔:
- 协议版本(Version):指定使用的HTTP协议版本,如HTTP/1.1。
- 状态码(Status Code):指示请求的处理结果,如200表示成功,404表示资源未找到等。
- 状态信息(Status Message):对状态码的简要描述。
响应头:包含关于响应的附加信息和元数据。每个响应头字段都以字段名和字段值的形式出现,以冒号分隔,位于状态行之后,每个字段占据一行。
常见的响应头字段:
空行:和请求行中的空行意义一样。位于响应头和响应数据之间,用于分隔响应头和响应数据。
响应数据:服务器返回的数据。它通常包含请求的资源或操作的结果,可以是文本、HTML、JSON、图像、音频、视频等格式的数据。