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でアクセスできる。

HTTP関係RFC一覧 (2020-01-13 Mon時点)
公開日 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を理解しようとすると,たいへんなので追々必要なものを見て勉強していきたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です