読了 くいっく HTTP/3

くいっく HTTP/3を読了しました。2020 年読了本 16 冊目。

最初のまとめ

読み始めの動機

HTTP/3 とか QUIC ってなにそれおいしいの?だったので、勉強のため。

概要

天才型だけど、知識がそんなにない主人公。それを支える後輩。二人の師匠とファンタジーものの基本を押さえたような設定で、 HTTP/2 の弱点、 HTTP/3 での改善点や QUIC の現状をファンタジーに置き換えて説明してくれる本。

見た目の軽い感じとは裏腹に内容はしっかりと RFC ベースで語られているので、合間の解説パートはなかなか大変だったりした。ざっくりした理解をまとめておく。

HTTP/1.1 to HTTP/2

HTTP/1.1 で起きていた HoLB を解消するために、並列処理を用いて高速化したのが HTTP/2 。とはいえ、 HTTP/2 でも問題点がまだあり、再接続すると最初からやり直しで時間がかかったり、 TCP ベースのためパケロスの影響を受けやすく、通信が不安定な環境だと HTTP/1.1 よりも遅くなったりといった課題があった。

HTTP/2 to HTTP/3

そういった課題を解決するために、 QUIC が Google 社によって開発されるようになる。 その QUIC を採用し、バージョンアップしたプロトコルを HTTP/3 と呼ぶ。HTTP/2 のいいところを残しつつ、 HTTP/3 では、 TCP ベースから UDP ベースに変わり、IP/ポートが切り替わっても接続が維持されるようになったりといろいろな改善がされている。

プロトコルスタックは画像のとおり。

stack

出典: https://datatracker.ietf.org/meeting/98/materials/slides-98-edu-sessf-quic-tutorial

ご覧のとおりで、大きな変更が加えられている。

スマホでインターネットに接続する最近では、 IP/ポートの切り替わりに影響を受けないのは非常にいいと感じた。

HTTP/3 にも課題はある

新しいプロトコルなので、実装状況が刻々と変わったり、 HTTP/3 を話せないサーバーがあったり、 UDP をブロックしたり制限したりするモデムが経路にあると使えなかったりと課題も残されている。

感想

最初はこの本のノリについていけるかな・・・と心配していたが、最後まで楽しく読めました。

ただ、あえてこの辺を勉強する必要があるかはよく考えておいたほうがいい。僕はざっくり概要をこの本で学んで、これ以上深入りはしないでおこうと思った。勉強しないといけないことは、たくさんあるし、時間は有限なので。

まとめ

HTTP/3 を完全に理解するならこの本を読んでみてください。チョットデキルようになりたい人は RFC を読んで、実装するのをお勧めします。

くいっく HTTP/3