HTTP 消息

2025年3月17日 | 阅读 3 分钟

HTTP 消息用于展示客户端和服务器之间如何交换数据。它基于客户端-服务器架构。一个 HTTP 客户端是一个程序,它建立与服务器的连接以发送一个或多个 HTTP 请求消息。一个 HTTP 服务器是一个程序,它接受连接以通过发送 HTTP 响应消息来服务 HTTP 请求。

HTTP 消息可以分为以下几类:

消息类型

HTTP 消息由初始请求行和初始响应行组成。

格式

1) 初始请求行

对于请求和响应,初始行是不同的。一个请求行由三个部分组成:一个方法名、请求资源的本地路径和所使用的 HTTP 版本。所有这些部分都用空格分隔。

语法

此处,

  • GET 是最常见的 HTTP 方法。
  • 路径显示主机名之后的 URL 部分。它也称为请求 URI。
  • HTTP 的版本总是采用“HTTP/x.x”的形式,大写。
HTTP Message

2) 初始响应行

初始响应行也称为状态行。它也有三个部分:HTTP 版本,一个给出请求结果的响应状态码,以及描述状态码的英语原因短语。

示例

此处,

响应行和请求行的 HTTP 版本与“HTTP/x.x”相同。

HTTP Message

消息头

消息头提供关于请求和响应的信息。它还提供关于消息体中发送的对象的信息。消息头有四种类型:

  1. 通用头: 它对请求消息和响应消息都具有普遍适用性。
  2. 请求头: 它仅对请求消息具有适用性。
  3. 响应头: 它仅对响应消息具有适用性。
  4. 实体头: 它定义了关于实体主体以及由请求标识的资源的元信息。

以上所有头都遵循相同的通用格式。每个头字段都由一个名称、一个冒号和字段值组成,如下所示:

消息体

HTTP 消息的消息体用于携带与请求和响应关联的整个主体。只有在应用了传输编码(如 Transfer-Encoding 头字段所示)时,消息体才与整个主体不同。

语法

必须使用 Transfer-Encoding 来指示应用程序应用的任何传输编码,以确保消息的安全和正确传输。Transfer-Encoding 是消息的一个属性。

消息长度

消息的传输长度是消息体的长度,它出现在消息中。

在消息中,当允许消息体并且给定了 Content-Length 时,其字段值必须与消息体中的八位字节数完全匹配。当接收到并检测到无效长度时,HTTP/1.1 用户代理必须通知用户。

通用头字段

一些头字段对请求和响应消息都适用。这些头字段仅在消息被传输时应用。

语法


下一个主题HTTP 请求