HTTP/2 draft 13が出ました

既にHTTP/2の実装は多く存在し、実際に試すことが出来るようになってきましたが、6/17に新しいドラフトであるdraft13が出ました。(nghttp2はすでに対応済みだそうです)


githubのリポジトリ上では「Adding -lc suffix and last call note」というコミットが行われ、ラストコールされるかと世間を賑わせましたが、リバートされ draft 13となりました。


しかし、チェアのNottingham氏はMLで「 Barring any problems, we'll call these an LC Implementation Draft in about a week. 」と言っており、そろそろラストコールとなりそうです。

draft13

6/5〜6/6にかけて、ニューヨークにおいてHTTPbis interimミーティングが行われました。その時のアジェンダと議事録はgithub上で確認できます。
draft13は、その議論が反映されています。

HTTP/2の拡張性

HTTP/2の拡張についての記述が追加されました。
フレームタイプ、settings 、エラーコード、「:」で開始する新しいHTTPヘッダ、等を新しく使うことが出来ます。
実装としては、未知の拡張は無視しなければなりません。また、通信する相手の合意を得てから使う事が書かれています。

TLSの暗号スイートの厳格化

TLSの暗号スイートについての記述が追加されました。
HTTP/2では使用する暗号スイートが厳密に指定されており、使用できる暗号アルゴリズム・暗号モード・最低限の鍵長が記述されています。

また、TLSのrenegotiationするには問題があり、HTTP/2では禁止されています(関連issue

Content-Encodingヘッダに関する記述削除
クローズしたストリームに対してPRIORITYを可能に

クローズしたストリームに依存するストリームの優先度を操作するために、クローズしたストリームでPRIORITYフレームを送信できます

ALTSVCフレームの削除。

draft-ietf-httpbis-alt-svc側に定義が移された(ただし、こちらはdraftバージョンが上がっておらず反映はされていない)
421 (Not Authoritative) はhttp2側の仕様に含まれるk多体になった

BLOCKEDフレームの削除
パディングの変更

パディング長の指定で使われていたPad High、Pad Lowが簡略化されPad Lengthとなった。
また、CONTINUEフレームからはパディングが削除された。

フレーム単位でのGZIP圧縮の削除

今後

既に、7月にTorontoで行われるIETFミーティングの話がMLで出ており、以下の様な議題が挙げられている

  • The Alternative Services draft
  • The Opportunistic Encryption / HTTP:// over TLS draft
  • The proxy discussion