- まえがき
- 序文
- 0. 適用範囲
- 1. 導入
- 1.1 目的
- 1.2 要件
- 1.3 定義
- 1.4 動作概要
- 2. 記法の規約及び共通文法
- 2.1 強化BNF
- 2.2 基本規則
- 3. プロトコルパラメタ
- 3.1 HTTPの版
- 3.2 統一資源識別子
- 3.2.1 一般構文
- 3.2.2 http URL
- 3.2.3 URIの比較
- 3.3 日時フォーマット
- 3.3.1 省略なし日付
- 3.3.2 差分秒(delta-seconds)
- 3.4 文字集合
- 3.5 内容符号化(content-coding)
- 3.6 転送符号化(transfer-coding)
- 3.7 メディア型(media-type)
- 3.7.1 正準化及びテキストのデフォルト
- 3.7.2 マルチパート型
- 3.8 製品(product)トークン
- 3.9 品質値(qvalue)
- 3.10 言語タグ(language-tag)
- 3.11 実体タグ(entity-tag)
- 3.12 範囲単位(range-unit)
- 4. HTTPメッセージ
- 4.1 メッセージ型
- 4.2 メッセージヘッダ(message-header)
- 4.3 メッセージ本体(message-body)
- 4.4 メッセージ長
- 4.5 一般ヘッダ(general-header)フィールド
- 5. 要求
- 5.1 Request-Line(要求行)
- 5.1.1 Method(メソッド)
- 5.1.2 Request-URI(要求URI)
- 5.2 要求によって識別される資源
- 5.3 要求ヘッダ(request-header)フィールド
- 6. 応答
- 6.1 Status-Line(状態行)
- 6.1.1 Status-Code(状態コード)及びReason-Phrase(理由句)
- 6.2 応答ヘッダ(response-header)フィールド
- 7. 実体
- 7.1 実体ヘッダ(entity-header)フィールド
- 7.2 実体本体(entity-body)
- 7.2.1 型
- 7.2.2 長さ
- 8. コネクション
- 8.1 永続的コネクション
- 8.1.1 目的
- 8.1.2 動作概要
- 8.1.3 プロキシサーバ
- 8.1.4 実際上の考慮
- 8.2 メッセージ転送要件
- 9. メソッド定義
- 9.1 安全メソッド及び多重呼出し不変なメソッド
- 9.1.1 安全メソッド
- 9.1.2 多重呼出し不変なメソッド
- 9.2 OPTIONS
- 9.3 GET
- 9.4 HEAD
- 9.5 POST
- 9.6 PUT
- 9.7 DELETE
- 9.8 TRACE
- 10. 状態コードの定義
- 10.1 Informational(参考) 1xx
- 10.1.1 100 Continue(継続)
- 10.1.2 101 Switching Protocols(プロトコル切替え)
- 10.2 Successful(成功) 2xx
- 10.2.1 200 OK
- 10.2.2 201 Created(生成)
- 10.2.3 202 Accepted(受諾)
- 10.2.3 203 Non-Authoritative Information(非認定情報)
- 10.2.4 204 No Content(内容なし)
- 10.2.5 205 Reset Content(内容リセット)
- 10.2.6 206 Partial Content(部分的内容)
- 10.3 Redirection(宛先切替え) 3xx
- 10.3.1 300 Multiple Choices(多重選択)
- 10.3.2 301 Moved Permanently(永久的移動)
- 10.3.3 302 Moved Temporarily(一時的移動)
- 10.3.4 303 See Other(他を参照)
- 10.3.5 304 Not Modified(修正なし)
- 10.3.6 305 Use Proxy(プロキシ使用)
- 10.4 Client Error(クライアントエラー) 4xx
- 10.4.1 400 Bad Request(悪い要求)
- 10.4.2 401 Unauthorized(未認定)
- 10.4.3 402 Payment Required(支払い要求)
- 10.4.4 403 Forbidden(禁止)
- 10.4.5 404 Not Found(不明)
- 10.4.6 405 Method Not Allowed(禁止メソッド)
- 10.4.7 406 Not Acceptable(受諾不可)
- 10.4.8 407 Proxy Authentication Required(プロキシ認証要求)
- 10.4.9 408 Request Timeout(要求時間切れ)
- 10.4.10 409 Conflict(矛盾)
- 10.4.11 410 Gone(行方不明)
- 10.4.12 411 Length Required(長さの要求)
- 10.4.13 412 Precondition Failed(事前条件の失敗)
- 10.4.14 413 Request Entity Too Large(大き過ぎる要求実体)
- 10.4.15 414 Request-URI Too Long(長過ぎる要求URI)
- 10.4.16 415 Unsupported Media Type(未サポートメディア型)
- 10.5 Server Error(サーバエラー) 5xx
- 10.5.1 500 Internal Server Error(内部サーバエラー)
- 10.5.2 501 Not Implemented(実装されていない)
- 10.5.3 502 Bad Gateway(悪いゲートウェイ)
- 10.5.4 503 Service Unavailable(サービス利用不可)
- 10.5.5 504 Gateway Timeout(ゲートウェイ時間切れ)
- 10.5.6 505 HTTP Version Not Supported(未サポートHTTP版)
- 11. アクセス認証
- 11.1 基本認証方式
- 11.2 ダイジェスト認証方式
- 12. 内容折衝
- 12.1 サーバ駆動折衝
- 12.2 エージェント駆動折衝
- 12.3 透過的な折衝
- 13. HTTPにおけるキャッシュ
- 13.1 概要
- 13.1.1 キャッシュの正しさ
- 13.1.2 警告
- 13.1.3 キャッシュ制御機構
- 13.1.4 利用者エージェントの明示的警告
- 13.1.5 規則及び警告の例外
- 13.1.6 クライアント制御の振る舞い
- 13.2 有効期限切れモデル
- 13.2.1 サーバ指定の有効期限切れ
- 13.2.2 発見的有効期限切れ
- 13.2.3 時間計算
- 13.2.4 有効期限切れ計算
- 13.2.5 有効期限切れ値のあいまいさ削除
- 13.2.6 多重応答のあいまいさ削除
- 13.3 有効性検証モデル
- 13.3.1 最終修正日付
- 13.3.2 実体タグキャッシュ有効性検証子
- 13.3.3 弱有効性検証子及び強有効性検証子
- 13.3.4 実体タグ及び最終修正日付の利用時期規則
- 13.3.5 有効性検証なしの条件付け
- 13.4 応答キャッシュ可能性
- 13.5 キャッシュからの応答の構成
- 13.5.1 端点間及びホップごとのヘッダ
- 13.5.2 修正不可ヘッダ
- 13.5.3 ヘッダの組合せ
- 13.5.4 バイト範囲の組合せ
- 13.6 折衝応答のキャッシュ
- 13.7 共有キャッシュ及び非共有キャッシュ
- 13.8 エラー又は不完全応答キャッシュの振る舞い
- 13.9 GET及びHEADの副作用
- 13.10 更新後又は削除後の無効化
- 13.11 必須の通し書き
- 13.12 キャッシュの置換
- 13.13 履歴リスト
- 14. ヘッダフィールドの定義
- 14.1 Accept(受諾)
- 14.2 Accept-Charset(受諾文字集合)
- 14.3 Accept-Encoding(受諾符号化)
- 14.4 Accept-Language(受諾言語)
- 14.5 Accept-Ranges(受諾範囲)
- 14.6 Age(経過時間)
- 14.7 Allow(許容)
- 14.8 Authorization(認定)
- 14.9 Cache-Control(キャッシュ制御)
- 14.9.1 キャッシュ可能
- 14.9.2 キャッシュによって記録されるもの
- 14.9.3 基本有効期限切れ機構の修正
- 14.9.4 キャッシュの再有効化及び再ロードの制御
- 14.9.5 変形なしの指示
- 14.9.6 キャッシュ制御拡張
- 14.10 Connection(コネクション)
- 14.11 Content-Base(内容基底)
- 14.12 Content-Encoding(内容符号化)
- 14.13 Content-Language(内容言語)
- 14.14 Content-Length(内容長)
- 14.15 Content-Location(内容位置)
- 14.16 Content-MD5(内容メッセージダイジェスト5)
- 14.17 Content-Range(内容範囲)
- 14.18 Content-Type(内容型)
- 14.19 Date(日付)
- 14.20 ETag(Eタグ)
- 14.21 Expires(有効期限切れ)
- 14.22 From(発信元)
- 14.23 Host(ホスト)
- 14.24 If-Modified-Since(修正開始時の場合)
- 14.25 If-Match(一致の場合)
- 14.26 If-None-Match(不一致の場合)
- 14.27 If-Range(範囲の場合)
- 14.28 If-Unmodified-Since(未修正時の場合)
- 14.29 Last-Modified(最後の修正)
- 14.30 Location(位置)
- 14.31 Max-Forwards(最大送付)
- 14.32 Pragma(実用)
- 14.33 Proxy-Authenticate(プロキシ認証)
- 14.34 Proxy-Authorization(プロキシ認定)
- 14.35 Public(公開)
- 14.36 Range(範囲)
- 14.36.1 Byte Ranges(バイト範囲)
- 14.36.2 Range Retrieval Requests(範囲検索要求)
- 14.37 Referer(参照者)
- 14.38 Retry-After(後の再試行)
- 14.39 Server(サーバ)
- 14.40 Transfer-Encoding(転送符号化)
- 14.41 Upgrade(向上)
- 14.42 User-Agent(利用者エージェント)
- 14.43 Vary(変化)
- 14.44 Via(経由)
- 14.45 Warning(警告)
- 14.46 WWW-Authenticate(WWW認証)
- 15. セキュリティへの考慮
- 15.1 クライアントの認証
- 15.2 認証方式の選択提示
- 15.3 サーバログ情報の悪用
- 15.4 要注意情報の転送
- 15.5 ファイル名及び経路名に基づく攻撃
- 15.6 個人情報
- 15.7 受諾ヘッダに関係したプライバシの課題
- 15.8 DNSのなりすまし
- 15.9 位置ヘッダ及びなりすまし
- 16. 貢献者
- 17. 文献
- 18. 原規定の著者の連絡先
- 19. 附属情報
- 19.1 インターネットメディア型 message/http
- 19.2 インターネットメディア型 multipart/byteranges
- 19.3 耐障害アプリケーション
- 19.4 HTTP実体とMIME実体との差
- 19.4.1 正準形式への変換
- 19.4.2 日付フォーマットの変換
- 19.4.3 Content-Encoding(内容符号化)の導入
- 19.4.4 Content-Transfer-Encoding(内容転送符号化)なし
- 19.4.5 マルチパート本体部分の中のHTTPヘッダフィールド
- 19.4.6 Transfer-Encoding(転送符号化)の導入
- 19.4.7 MIME-Version(MIME版)
- 19.5 HTTP/1.0からの変更点
- 19.5.1 マルチホームウェブサーバを簡素化しIPアドレスを節約するための変更点
- 19.6 追加機能
- 19.6.1 追加の要求メソッド
- 19.6.2 追加のヘッダフィールド定義
- 19.7 以前の版との互換性
- 19.7.1 HTTP/1.0の永続的コネクションとの互換性
- 解説