目  次




まえがき
序文
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の永続的コネクションとの互換性
解説