服务器向客户机发出 HTTP 响应。 响应的目的是对客户机提供它请求的资源,或通知客户机已执行它请求的操作;否则将通知客户机处理其请求时出现错误。
HTTP 响应包含:
一个状态行。
一系列 HTTP 头或头字段。
一个消息体(通常需要)。
在一个请求消息中,每个 HTTP 头后跟回车符换行 (CRLF)。 在 HTTP 头的最后,使用另一个 CRLF(空一行),然后开始是消息体。
状态行状态行是响应消息中的第一行。 它由三个项组成:
HTTP 版本号,显示服务器已尝试使消息遵从的 HTTP 规范。
状态码,它是表明请求结果的三位数的号码。
原因短语,也称为状态文本,它是人类可以阅读的文本,总结了状态码的含义。
响应行的一个示例为:HTTP/1.1 200 OK在本示例中:
HTTP 版本是 HTTP/1.1
状态码是 200
原因短语是 OK
状态码和原因短语 对状态行的这些元素进行了更多说明。
HTTP 头服务器的响应的 HTTP 头包含一些信息,客户机可以使用这些信息找到有关响应和发送响应的服务器的更多内容。 该信息可以帮助客户机显示对用户的响应,存储(或高速缓存)响应以供将来使用,以及帮助客户机现在或将来对服务器发出更多请求。 在不成功请求的情况下,头可以用于告诉客户机它必须执行什么操作以成功完成其请求。
响应消息中的 HTTP 头系列后放了一个空行(即,单个 CRLF),以将头与消息体分隔开。
消息体为了方便起见,响应的消息体可以称为响应主体。
消息体用于大多数响应。 异常发生在服务器对使用 HEAD 方法(它请求头,但不请求响应主体)的客户机请求做出响应的情况下,以及服务器正在使用特定状态码的情况下。
对于对成功请求的响应,消息体包含客户机请求的资源,或有关客户机请求的操作状态的某些信息。 对于对不成功请求的响应,消息体可能提供有关错误原因的进一步信息,或有关客户机为了成功完成请求需要执行的某些操作的进一步信息。