HTTP/1.1の仕様は下記の通り、6つのRFCで標準化されています。
- RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
- RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- RFC 7232 - Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
- RFC 7233 - Hypertext Transfer Protocol (HTTP/1.1): Range Requests
- RFC 7234 - Hypertext Transfer Protocol (HTTP/1.1): Caching
- RFC 7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication
これら、HTTPリクエスト・レスポンスヘッダや、ステータスコード、キャッシュや認証の仕組みといったHTTPの意味(セマンティクス)はHTTP/2でもHTTP over QUICでも変わっていません。
つまり、引き続きHTTPのセマンティクスを定義しているこれらのドキュメントは整備(メンテナンス)し続ける必要があります。
RFCは一度出てしまうと変更することは出来ず、errataと言うかたちで訂正が蓄積していきますが、どこかで改訂版を出す必要が出てきます。上記RFCが出て4年が経ち既にIssueはいくらか溜まっており、その一覧はhttpbis WGのgithubリポジトリで確認できます。現状では48個のissueが登録されています。
github.com
そこで、IETFのhttpbis WGでは、次のHTTP標準の改訂作業が行われる機運が高まっており、前々回のIETF99(2017年11月頃)でもその議論が行われています。発表資料は以下のより確認できる。
github.com
HTTP/1.1は既に一度改定しており、その時は次のHTTPと言う意味で、HTTPbisと呼ばれていました。そして3回目の改訂としてHTTPtreと呼ばれるのが今回のドキュメントです
(ちなみに、WGの名前はhttpbisのままで行くようです)
HTTPtre
本日、そのHTTPtreのドラフトが提出されました。Authorは、HTTPbisの改訂でも根強く尽力されたJulian F. Reschke氏と、Roy T. Fielding氏です。
それぞれ、RFC 7230 〜 7235と対応して、各改訂版は下記のとおりです。
- Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
- Hypertext Transfer Protocol: Semantics and Content
- Hypertext Transfer Protocol (HTTP): Conditional Requests
- Hypertext Transfer Protocol (HTTP): Range Requests
- Hypertext Transfer Protocol (HTTP): Caching
- Hypertext Transfer Protocol (HTTP): Authentication
Message Syntax and RoutingはHTTP/1.1固有のものですが、それ以外はHTTPとしてのセマンティクスを定義しているため、ドキュメントタイトルから1.1という部分がなくなっています。
これらのドキュメントは、個人ドラフトの00版ですがすでに変更が入っており、各ドキュメントの最後に変更点が記述されています。
HTTPtreのスコープとスケジュール
HTTPtreの作業項目と、そのドラフト更新の目処については、チェアのmnotが去年の段階で言及しています。
DRAFT: more details for HTTPtre
それを見るとHTTPbis(6年かかった)に比べれば、短い期間で改訂作業が進められそうです。
まずは、このドキュメントを元に、今月行われるIETF101で議論を行い、これから編集作業が進んでいくものと思われます。