Posted at

HTTP関連のRFCや標準ドキュメントのリンク集


HTTP関連のRFCや標準ドキュメントのリンク集

HTTP関連のRFCや標準ドキュメントのリンク集です。随時更新。

抜け・漏れ・勘違い・誤記などありましたらコメントや編集リクエストでお知らせください。

参考書籍:

セキュリティ系でおすすめの参考資料:


HTTPヘッダーの先祖

「Real World HTTP」"1.4 HTTPの先祖 (1) 電子メール" によるとメールのヘッダーが先祖らしい。


MIMEとContent-Type


HTTPメソッドとステータスコードの先祖

「Real World HTTP」"1.5 HTTPの先祖 (2) ニュースグループ" によるとHTTPメソッドとステータスコードの機能はニュースグループのNNTPが先祖らしい。


URI, URL, URN

URI : Uniform Resource Identifier (URI)

-> URN : Uniform Resource Name, 名前を表す。
-> URL : Uniform Resource Locator, 場所を表す。

関連RFC : 現行の標準仕様としては、RFC3986 を参照すれば良い。


URLと国際化


"mailto" URLスキーム


URLスキームの登録関連


パーセントエンコーディング

参考資料:


HTTP/0.9


HTTP/1.0

補足: Dateレスポンスヘッダーのフォーマットについて、RFC1945時点では以下の3種類のいずれかとなっている。(10.6 Date -> 3.3 Date/Time Formats 参照)


HTTP/1.1

新しい補足的なRFC:


  • RFC 7236 - Initial Hypertext Transfer Protocol (HTTP) Authentication Scheme Registrations



  • RFC 7237 - Initial Hypertext Transfer Protocol (HTTP) Method Registrations



  • RFC 7238 - The Hypertext Transfer Protocol Status Code 308 (Permanent Redirect)




Cookie, Set-Cookie

最新の標準としてはRFC6265を見れば良い。


multipart/form-data

※RFC1867 は RFC2854 で Obsoleted されているが、RFC2854自体はそれまで分散していたHTML関連仕様の歴史の整理とW3Cへの引き継ぎを目的としたRFCとなっており、multipart/form-dataについて具体的な解説は無い。代わりに RFC2388 へのリンクを示している。


Content-Disposition


  • メールMIMEとしての Content-Disposition ヘッダー


    • RFC 1806 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header



    • RFC 2183 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field



    • メールContent-Disposition ヘッダーの最新としては RFC2183 で、文字コードや言語指定などで RFC2184 -> RFC2231 と部分的に更新されているらしい。

    • RFC 2184 - MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations



    • RFC 2231 - MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations





  • HTTPとしての Content-Disposition ヘッダー


    • RFC 5987 - Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters


      • https://tools.ietf.org/html/rfc5987

      • メールMIME側のRFC2231による、ヘッダーにおける文字コードやマルチバイトの扱いがHTTPのヘッダーに導入。

      • Obsoleted by: 8187



    • RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)


      • https://tools.ietf.org/html/rfc6266

      • RFC2616 (HTTP/1.1) の "19.5.1 Content-Disposition" で Content-Disposition ヘッダーが言及されているものの、"15.5 Content-Disposition Issues" ではHTTPの標準には含めていなかった。

      • それが RFC6266 において正式に取り込まれたらしい(?)

      • とりあえず HTTP における Content-Disposition としてはこれが2018年時点では最新。



    • RFC 8187 - Indicating Character Encoding and Language for HTTP Header Field Parameters





Content-Disposition において、ファイル名に日本語を含めるときの参考:

JPCERT/CC発行「HTML5 を利用した Web アプリケーションのセキュリティ問題に関する調査報告書 Rev.2」


  • https://www.jpcert.or.jp/research/HTML5-20131030.pdf

  • p45, "5.5. Content-Disposition" では、IE8でファイルダウンロードの「開く」ボタンクリックによるXSS攻撃を防ぐため、 X-Download-Options: noopen レスポンスヘッダーを追加する対策が紹介されている。


Referrer Policy


Upgrade-Insecure-Requests


X-Forwarded


X-Frame-Options


X-Content-Type-Options


X-XSS-Protection


Content-Security-Policy, Content-Security-Policy-Report-Only


Strict-Transport-Security


Server-Sent Events


HTTP/2


WebSocket


robots.txt