TL;DR

サーバが HTTP リクエストに応えて返す HTTP メッセージである。HTTP のバージョンとステータスコードを書いたステータスラインで始まり、ヘッダと任意のボディが続く。

仕組み

RFC 9112 の定義では、HTTP/1.1 のメッセージはスタートラインと CRLF で始まり、0 個以上のヘッダの行、ヘッダの終わりを示す空行、任意のメッセージボディが続く。レスポンスでは、スタートラインがステータスラインになる。

status-line   = HTTP-version SP status-code SP [ reason-phrase ]
status-code   = 3DIGIT

ステータスラインは、プロトコルのバージョン、空白 1 文字、3 桁のステータスコード、空白 1 文字、理由フレーズの順に並ぶ。理由フレーズは省略できる。

例

HTTP メッセージのページの例では、アクセスが成功したときのレスポンスは次のようになる。

HTTP/1.1 200 OK
...
 
<!DOCTYPE html>
<html>
  ...
</html>

注意点

理由フレーズ(OK や Not Found)は人が読むためのものである。HTTP メッセージのページにあるとおり、クライアントは理由フレーズの内容で挙動を変えてはいけない。

関連

出典