基本响应格式

当 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,这必须始终是字符串 HTTP/1.1

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

  • 1xx 信息 - 服务器已收到请求并正在继续处理
  • 2xx 成功 - 服务器已接受并处理了请求
  • 3xx 重定向 - 客户端需要进一步的操作才能完成请求
  • 4xx 客户端错误 - 客户端发送了格式错误或无法完成的请求
  • 5xx 服务器错误 - 请求有效,但服务器目前无法满足要求

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

该生产线以回车换行对结束,通常由\r\n 代表。