HTTP 基本响应格式

例子

当 HTTP 服务器收到一个格式良好的HTTP 请求时,它必须处理请求中包含的信息并向客户端返回响应。一个简单的 HTTP 1.1 响应,可能类似于以下任何一个,通常后跟许多标头字段,可能还有一个响应正文:

HTTP/1.1 200 OK \r\n
HTTP/1.1 404 Not Found \r\n
HTTP/1.1 503 Service Unavailable \r\n

一个简单的 HTTP 1.1 响应具有以下格式:

HTTP-Version Status-Code Reason-Phrase CRLF

如同在请求中一样,HTTP-Version指示正在使用的 HTTP 协议的版本;对于 HTTP 1.1,这必须始终是 string HTTP/1.1。

Status-Code是一个三位数的代码,表示客户端请求的状态。此代码的第一个数字是状态类,它将状态代码放入响应[1]的 5 个类别之一:

  • 1xx 信息性- 服务器已收到请求,正在继续处理

  • 2xx 成功- 服务器已经接受并处理了请求

  • 3xx 重定向- 客户端需要采取进一步行动来完成请求

  • 4xx 客户端错误- 客户端发送的请求格式错误或无法完成

  • 5xx 服务器错误- 请求有效,但服务器目前无法满足它

Reason-Phrase是状态码的简短描述。例如,代码200有一个原因短语OK;代码404有一个短语Not Found。完整的原因短语列表可在下面的参数或HTTP 规范中找到

该行以回车-换行对结束,通常用 表示\r\n。