メインコンテンツまでスキップ

1. Introduction (はじめに)

Hypertext Transfer Protocol (HTTP, ハイパーテキスト転送プロトコル) は、分散型で協調的なハイパーテキスト情報システムのためのステートレスなリクエスト/レスポンスプロトコルです。このドキュメントは、HTTP/1.1を定義する一連のドキュメントの最初の部分です。

このドキュメントの主な内容は次のとおりです:

  • HTTPアーキテクチャの全体的な概要とその関連用語
  • "http" および "https" Uniform Resource Identifier (URI, 統一資源識別子) スキームの定義
  • HTTP/1.1メッセージ構文と解析要件
  • 実装に関連するセキュリティ上の考慮事項

HTTP/1.1メッセージ構文と解析要件は、相互運用性を向上させ、既知の曖昧さを減らすために、RFC 2616を基に改訂されています。このドキュメントは、RFC 2616の特定の部分を置き換え、HTTP/1.1セマンティクスを定義する他のドキュメントと一緒に使用されます。

HTTPの他の部分は、以下の独立したドキュメントで定義されています:

  1. "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content" [RFC7231] - リクエストメソッド、ステータスコード、およびプロトコルセマンティクスに関連するその他の要素を定義します
  2. "Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests" [RFC7232] - 条件付きリクエストのメカニズムを定義します
  3. "Hypertext Transfer Protocol (HTTP/1.1): Range Requests" [RFC7233] - 部分的なリクエストとレスポンスを定義します
  4. "Hypertext Transfer Protocol (HTTP/1.1): Caching" [RFC7234] - キャッシュの要件と制御を定義します
  5. "Hypertext Transfer Protocol (HTTP/1.1): Authentication" [RFC7235] - ユーザー認証フレームワークを定義します

1.1. Requirements Notation (要件表記)

このドキュメントのキーワード "MUST" (しなければならない)、"MUST NOT" (してはならない)、"REQUIRED" (必須)、"SHALL" (するものとする)、"SHALL NOT" (しないものとする)、"SHOULD" (すべきである)、"SHOULD NOT" (すべきではない)、"RECOMMENDED" (推奨される)、"MAY" (してもよい)、および "OPTIONAL" (オプション) は、[RFC2119] に記載されているとおりに解釈されるものとします。

適合性基準と考慮事項は、Section 2.5 で説明されています。

1.2. Syntax Notation (構文表記)

この仕様は、[RFC5234] の Augmented Backus-Naur Form (ABNF, 拡張バッカス・ナウア記法) 表記法を使用し、Section 7 で定義されているリスト拡張を使用して、# 演算子を使用してコンマ区切りリストのコンパクトな定義を可能にします。Appendix B は、他のドキュメントからインポートされたルールを説明しています。

次のコアルールは、[RFC5234] の Appendix B.1 で定義されているとおり、参照によって含まれています: ALPHA (文字)、CR (キャリッジリターン)、CRLF (CR LF)、CTL (制御文字)、DIGIT (10進数 0-9)、DQUOTE (二重引用符)、HEXDIG (16進数 0-9/A-F/a-f)、HTAB (水平タブ)、LF (ラインフィード)、OCTET (8ビットのデータシーケンス)、SP (スペース)、および VCHAR (可視US-ASCII文字)。

慣例として、"obs-" で始まる ABNF ルール名は、歴史的な理由で表示される "obsolete" (廃止された) 文法ルールを示します。