HTTP 响应

2024 年 8 月 29 日 | 阅读 3 分钟

HTTP 响应由服务器发送到客户端。 响应用于向客户端提供其请求的资源。 它也用于通知客户端所请求的操作已执行。 它还可以通知客户端在处理其请求时发生错误。

HTTP 响应包含以下内容

  1. 状态行
  2. 响应头字段或一系列 HTTP 头
  3. 消息体

在请求消息中,每个 HTTP 标头后跟一个回车换行 (CRLF)。 在最后一个 HTTP 标头之后,使用一个额外的 CRLF,然后开始消息体。

状态行

在响应消息中,状态行是第一行。 状态行包含三个项目

a) HTTP 版本号

它用于显示服务器尝试使消息符合的 HTTP 规范。

示例

b) 状态码

它是一个三位数数字,指示请求的结果。 第一位数字定义了响应的类别。 后两位数字没有任何分类作用。 第一位数字有五个值,如下所示

代码和描述

1xx: 信息

表示已收到请求并继续该过程。

2xx: 成功

表示已成功收到、理解和接受该操作。

3xx: 重定向

表示必须采取进一步措施才能完成请求。

4xx: 客户端错误

表示请求包含不正确的语法,或者无法满足。

5xx: 服务器错误

表示服务器未能满足有效的请求。

c) 原因短语

也称为状态文本。 它是一段人类可读的文本,总结了状态代码的含义。

响应行的示例如下

此处,

  • HTTP/1.1 是 HTTP 版本。
  • 200 是状态代码。
  • OK 是原因短语。

响应头字段

服务器响应的 HTTP 标头包含客户端可以使用的信息,以了解有关响应的更多信息以及发送响应的服务器。 此信息用于协助客户端向用户显示响应,为将来使用存储响应,以及现在或将来向服务器发出进一步请求。

只有在协议版本发生变化时,才能可靠地扩展 Response-header 字段的名称。

消息体

为方便起见,响应的消息体可以称为响应体。

消息体用于大多数响应。 例外情况是服务器使用某些状态代码以及服务器响应客户端请求,该请求要求提供标头但不提供响应体。

对于成功请求的响应,消息体包含有关客户端请求的操作状态的一些信息,或者客户端请求的资源。 对于不成功请求的响应,消息体可能会提供有关客户端需要采取的某些操作以成功完成请求或有关错误原因的更多信息。


下一个主题HTTP 实体