HTTP/2 (SPDY) とパフォーマンスのめも
主にパフォーマンス関連でじぶんようのメモです
- HTTP/2 によって解決した問題は、「同時リクエスト制限」によるものが殆どです。
- HTTP/1.1 では「一本のコネクションで同時に一つのリクエストしか出来ない」だったものが、HTTP/2 では「一本のコネクションでたくさんのリクエストを同時に出来る」と理解して良いと思います。
- 転送全体としてみれば非常に効率的になりましたが、レイテンシに関する問題はあまり解決されていません。
- 当たり前ですが、ブラウザ側でレンダリングが遅くなることに対してはノータッチです。
- たとえば、CSS や JavaScript でレンダリングをブロックしているとき。HTTP/2 になってもあまり速くなりません。
- HTTP/2 ではドメインシャーディングが逆効果になります。
- CSS Sprites や CSS/JS の結合は依然として有効です。
- いくら同時リクエストし放題といっても、なんだかんだでリクエストにはコストが掛かります。減らすにこした事は無い。
- その他のパフォーマンステクニックは依然として有効です。
結局、レイテンシが問題になりやすいモバイルではあまり速くなってないんじゃ疑惑… 画像を大量に貼ってるページとかは速くなりやすいと思います。
大量の画像を速く表示するために画像を BASE64 して Chunked transfer response する暗黒魔法は必要なくなりました。
でも、ちゃんとチューニングしてるページとかはあまり変わらなくて、恩恵を受けられるのは Server Push で CSS, JS を HTML と一緒に送ってあげることくらいでした。