当 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。