ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

RFC7540 #310

RFC7540

RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2)

というわけでHTTP/2の仕様です。これを読み始めました。(研究の関連で)

英語のお勉強もしなきゃならないのは山々なのですが、今回は以下の日本語訳に頼りました。翻訳者の方に感謝…。

RFC7540 日本語訳

まだ冒頭のHTTP/2の開始の部分を読み終えたくらいの進捗度合いなのですが、とっても面白い仕様を見つけてニヤニヤしてました。

HTTP/2のコネクションを確立するタイミングでHTTP/2コネクションプリフェイスというものをサーバーとクライアントが双方に送信する必要があって、その際に送信されるのが

PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n

という文字列なのですが、なんでこんな変な文字列が送信されるのか調べたところ、以下の記事に当たりました。

asnokaze.hatenablog.com

なるほど、HTTP/2に対応していないクライアントに送信されたときに素早くコネクションを切るために考えられた文字列、ということらしいです。

よく考えられてるなぁと感心しました。

このような工夫を盛り込んで互換性を保っているのだなぁ。

雑談

今の所HTTPはずっと互換性を保ってバージョンアップを繰り返しているらしいのですが、これをいつか切るというタイミングが来たりするんでしょうかね?