クエリパラメータ付きURLのキャッシュを改善する No-Vary-Search ヘッダ

キャッシュのキーとしてURLが使われます。このときURLのクエリパラメータも含めて考慮されます。

特定のクエリパラメータは、分析や別様とでアクセスログに残すために使われたりしますが、提供するリソースが変わらない場合があります。そのケースであれば、クエリパラメータが付いてたとしても、キャッシュがあればキャッシュを使ってもらいたいものです (ここでキャッシュは、HTTPキャッシュ及び、prefetchやprerenderを指します)。

そのため、クエリパラメータが付いている場合の扱いを改善する No-Vary-Search レスポンスヘッダ が、Chromeの方中心に議論されています。

github.com

No-Vary-Search レスポンスヘッダの例として次のものが上げられている

クエリパラメータのキーの順序を考慮しない

No-Vary-Search: key-order

特定のクエリパラメータをキャッシュのキーとして考慮しない (特に分析用のものなど)

No-Vary-Search: "utm_source", "utm_medium", "utm_campaign"

特定のクエリパラメータ意外をキャッシュのキーとして考慮しない

No-Vary-Search: *; except=("productId")