HTTP/2
SPDYを改良したもの
2015年2月17日に発表
HTTP/1.1の様式を保持した拡張版
HTTP/1.1の課題を解決した
HTTP/2の特徴
binary framing layer
リクエスト、レスポンスの多重化
binary framing layerを利用
一つの接続内にストリームを複数作ることで、どこかのストリームがリクエストしている間に、他のストリームでレスポンスを受け取るといった、並列にデータの通信ができるようになった
任意のタイミングでリクエストを送ることができ、100以上ものリクエストの送信が可能
HoLブロッキング問題を解決
ストリームの優先度制御
ストリーム及びフローの制御
サーバープッシュ
ヘッダの圧縮
HTTP通信にはヘッダを伴いますが、プレーンのまま送るとサイズが大きく、Cookieなどが含まれていると数KBになることもあります。
SPDY時代にもzlibやgzipといった圧縮の手法を使って85~88%ほど圧縮したりしていたのですが、Session HijackingするCRIMEという攻撃手法が見つかり、無効とされました。
HPACK
srver push
https://blog.jxck.io/entries/2019-01-19/cache-digest-status.html#intro
103 Early Hints
デモサイト
HTTP vs HTTPS — Test them both yourself
HTTP/2 technology demo
HTTP/2: the Future of the Internet | Akamai
devtoolのnetworkタブで、一覧の上部で「Protocol」にチェックを付けると確認できる
http1.1, spdy, h2など
https://gyazo.com/21800d5942e6f15d298291cc38a797cd
導入
で、 HTTP2.0 対応って何をすればいいの? - dskst's diary
参考
HTTP/2 の内幕
https://speakerdeck.com/veigr/understanding-http2
https://numb86-tech.hatenablog.com/entry/2021/04/17/203110
https://eng-blog.iij.ad.jp/archives/11765
Cipher Suite
/mrsekut-book-4297119250/198~
/mrsekut-book-4297119250/202~
https://blog.yuuk.io/entry/2014/01/21/114326