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 メッセージのページにあるとおり、クライアントは理由フレーズの内容で挙動を変えてはいけない。