HTTP関係RFCの一覧表
Webの根幹を成すHTTPについて勉強している。HTTPはRFCで仕様が規定されている。しかし,歴史的経緯もあり,数多くのRFCが登場し,どれが最新でどういう関係なのかわかりにくい。
そこで,HTTP関係のRFCを表に整理した。
要点
HTTP関係のRFCの一覧表だけ先に掲載しても意味がわからないので,先にHTTP関係のRFCとして主なものを解説する。
なお,最新のHTTP関係の仕様は以下のページにまとまっている。
HTTP
まず,基本となるHTTPだ。2020-01-13 Mon時点の最新のHTTPは,HTTP/2を規定する2015-05のRFC 7540だ。もっとも,HTTP/2はHTTP/1をベースにしている。そのため,HTTPについて学ぶ上では実際にはHTTP/1.1の最新版である2014-06のRFC 7230-RFC 7235の6のRFCが最新のHTTPとみなしてよいだろう。
HTTPの初のRFCとなるHTTP/1.0は1996-05にRFC 1945で規定されている。なお,これ以前の1990年に生まれたとされているHTTP/0.9はRFCなどの文書は存在しないそうだ。
RFC 1945の後に,1997-01のRFC 2058でHTTP/1.1が初めて登場した。その後,1999-06のRFC 2616でHTTP/1.1が改訂された。このRFC 2616がインターネットバブル期に採用されたのもあり,HTTPのRFCとしてよく見かけるものとなっている。
その後に,RFC 2616の内容が6個に分割されて2014-06のRFC 7230-RFC 7235が登場した。これがHTTP/1.1の最新版となっている。
HTTP cookie
状態を持たないHTTPで状態を管理し,ショッピングサイトのショッピングカートやマイページの機能を実現するHTTP cookieが存在する。
こちらは1997-02のRFC 2109が初版で,その後2000-10のRFC 2965で改訂され,2011-04のRFC 6265が最新版となっている。
URI
HTTPの通信対象を識別するURIのRFCが存在する。
こちらは1999-11に共に発表されたRFC 2717とRFC 2718が初版となっている。その後,2006-02のRFC 4394がRFC 2717とRFC 2718を置き換え,2015-06のRFC 7596, 2019-05のRFC 8615と続いており,RFC 8615が最新となっている。
一覧
HTTP関係のRFCの一覧表を以下に掲載する。関係がわかりやすいようにRFC,分類の順でソートしている。
一覧化のとっかかりには「Webを支える技術」と「Real World HTTP ミニ版」の書籍を参考にした。
表の廃止先や更新先などはRFCのヘッダー部に書かれている情報をRFCを辿って抜粋した。分類はこちらが独自に判断した。
肝心のRFCには [https://tools.ietf.org/html/rfc] の末尾にRFCの数字を並べたURLでアクセスできる。
公開日 | RFC | 廃止先 | 廃止元 | 更新先 | 更新元 | 参照 | 分類 | 題名 |
---|---|---|---|---|---|---|---|---|
1994-03 | 1597 | 1918 | DNS | Address Allocation for Private Internets | ||||
1994-07 | 1627 | 1918 | DNS | Network 10 Considered Harmful | ||||
1996-02 | 1918 | 1597, 1627 | 6761 | DNS | Address Allocation for Private Internets | |||
1999-06 | 2606 | 6761 | DNS | Reserved Top Level DNS Names | ||||
2013-02 | 6761 | 1918, 2606 | DNS | Special-Use Domain Names | ||||
1997-05 | 2145 | 7230 | HTTP | Use and Interpretation of HTTP Version Numbers | ||||
1997-02 | 2109 | 2965 | HTTP cookie | HTTP State Management Mechanism | ||||
2000-10 | 2965 | 2109 | 6265 | HTTP cookie | HTTP State Management Mechanism | |||
2011-04 | 6265 | 2965 | HTTP cookie | HTTP State Management Mechanism | ||||
1996-05 | 1945 | HTTP/1.0 | Hypertext Transfer Protocol — HTTP/1.0 | |||||
1997-01 | 2068 | 2616 | HTTP/1.1 | Hypertext Transfer Protocol — HTTP/1.1 | ||||
1999-06 | 2616 | 2068 | 7230, 7231, 7233, 7234, 7235 | 2817, 5785, 6266, 6585 | HTTP/1.1 | Hypertext Transfer Protocol — HTTP/1.1 | ||
2011-06 | 6266 | 2616 | HTTP/1.1 | Content-Disposition Header | ||||
2011-06 | 6585 | 2616 | HTTP/1.1 | Additional HTTP Status Codes | ||||
2014-06 | 7230 | 2145, 2616 | 2817, 2818 | 8615 | 2145, 2616, 2817, 2818, 3040, 4033, 4559, 5226, 5246, 5322, 6265, 6585 | HTTP/1.1 | Message Syntax and Routing | |
2014-06 | 7231 | 2616 | 2817 | HTTP/1.1 | Semantics and Content | |||
2014-06 | 7232 | 2616 | HTTP/1.1 | Conditional Requests | ||||
2014-06 | 7233 | 2616 | HTTP/1.1 | Range Requests | ||||
2014-06 | 7234 | 2616 | HTTP/1.1 | Caching | ||||
2014-06 | 7235 | 2616 | 2617 | HTTP/1.1 | Authentication | |||
2015-05 | 7540 | HTTP/2 | Hypertext Transfer Protocol Version 2 (HTTP/2) | |||||
1999-01 | 2246 | 4346 | 3546, 5746, 6176, 7465, 7507, 7919 | SSL/TLS | The TLS Protocol Version 1.0 | |||
2000-05 | 2817 | 2616 | 7230, 7231 | SSL/TLS | Upgrading to TLS Within HTTP/1.1 | |||
2000-05 | 2818 | 5785, 7230 | SSL/TLS | HTTP Over TLS | ||||
2006-04 | 4346 | 2246 | 5246 | 4366, 4680, 4681, 5746, 6176, 7465, 7507, 7919 | SSL/TLS | The Transport Layer Security (TLS) Protocol Version 1.1 | ||
2008-08 | 5246 | 3268, 4346, 4366 | 8446 | 4492 | 5746, 5878, 6176, 7645, 7507, 7568, 7627, 7685, 7905, 7919, 8447 | SSL/TLS | The Transport Layer Security (TLS) Protocol Version 1.2 | |
2011-08 | 6101 | SSL/TLS | The Secure Sockets Layer (SSL) Protocol Version 3.0 | |||||
2015-06 | 7568 | 5246 | SSL/TLS | Deprecating Secure Sockets Layer Version 3.0 | ||||
2018-08 | 8446 | 5077, 5246, 6961 | 5705, 6066 | SSL/TLS | The Transport Layer Security (TLS) Protocol Version 1.3 | |||
1999-11 | 2717 | 4395 | URI | Registration Procedures for URL Scheme Names | ||||
1999-11 | 2718 | 4395 | URI | Guidelines for new URL Schemes | ||||
2006-02 | 4395 | 2717, 2718 | 7595 | URI | Guidelines and Registration Procedures for New URI Schemes | |||
2010-04 | 5785 | 8615 | 2616, 2818 | URI | Defining Well-Known Uniform Resource Identifiers (URIs) | |||
2015-06 | 7595 | 4395 | 8615 | URI | Guidelines and Registration Procedures for URI Schemes | |||
2019-05 | 8615 | 5785 | 7230, 7595 | URI | Well-Known Uniform Resource Identifiers (URIs) | |||
2008-10 | 5322 | 2822 | 4021 | Internet Message Format |
一覧化したことでお互いのRFCの関係の理解が進んだ。[RFC 6761 Special-Use Domain Names] のように,普段から特に意識なく使われているexample.comなどのRFCにも辿り着けてよかった。
個別のRFCを理解しようとすると,たいへんなので追々必要なものを見て勉強していきたい。