HTTP におけるキャッシュについて疎かったので買ってみた。まだ読んでる途中だけど実際の業務に役立った点がひとつあったので書き留めておく。
バックエンドで用いるアプリケーションサーバーで JSON レスポンスを返却する際に圧縮するとよいとの記載があって、いま業務で大きいサイズの JSON を返していて「使えるかも」と思った。
実際のレスポンスヘッダを見てみると `Content-Encoding` を返していなかったので圧縮していないことがわかった。クライアントからは `Accept-Encoding: gzip, deflate, br` でリクエストしていて、アプリケーションサーバで利用しているフレームワーク(FastAPI)で gzip が使えそうなので試してみた。
だいたい 50,000 bytes だった JSON が 7,000 bytes くらいで返却できて効果を実感した。まだプルリクレビュー中だけどはやくデプロイしてフロント経由での動作確認してみたいな。
他にも `Cache-Control` 含めて知りたい内容が盛りだくさんだったの少しずつ読みすすめていきたい。