📜  HTTP响应

📅  最后修改于: 2021-01-03 03:06:47             🧑  作者: Mango

HTTP响应

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

HTTP响应包含以下内容:

  • 状态线
  • 响应标头字段或一系列HTTP标头
  • 邮件正文

在请求消息中,每个HTTP标头后跟一个回车换行符(CRLF)。在最后一个HTTP标头之后,使用了另一个CRLF,然后开始消息正文。

状态线

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

a)HTTP版本号

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

HTTP-Version = HTTP/1.1

b)状态码

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

代码和说明

1xx:信息

它表明已接收到请求并继续该过程。

2xx:成功

它表明该操作已成功接收,理解并被接受。

3xx:重定向

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

4xx:客户端错误

它表明该请求包含不正确的语法,或者无法实现。

5xx:服务器错误

它表明服务器无法满足有效的请求。

c)原因短语

也称为状态文本。它是一种易于阅读的文本,概述了状态码的含义。

响应行的示例如下:

HTTP/1.1 200 OK

这里,

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

响应标题字段

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

response-header = Accept-Ranges          
                  | Age                   
                  | ETag                   
                  | Location              
                  | Proxy-Authenticate     
                  | Retry-After            
                  | Server           
                  | Vary                  
                  | WWW-Authenticate    

只有结合协议版本的更改,才能可靠地扩展Response-header字段的名称。

邮件正文

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

邮件的正文用于大多数响应。例外情况是服务器正在使用某些状态代码,并且服务器正在响应客户端请求,该请求请求标头而不是响应正文。

为了响应成功的请求,消息的正文包含有关客户端请求的操作状态或客户端请求的资源的某些信息。为了响应未成功的请求,消息的正文可能会提供有关客户端成功完成请求所需采取的某些措施或错误原因的更多信息。