Web・API / Web/キャッシュ
Varyとは
Vary header。どのリクエストヘッダーごとにキャッシュを分けるかを示すHTTPヘッダーです。
用語集内のカードを見るWeb・API / Web/キャッシュ
Vary header。どのリクエストヘッダーごとにキャッシュを分けるかを示すHTTPヘッダーです。
用語集内のカードを見るVaryを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。
実務メモ
VaryはCORS、ACAO、言語切替、圧縮、CDNキャッシュ、プロキシ再利用で効きます。利用者ごとに違う応答が混ざる、ブラウザだけCORS失敗する調査で確認します。
証跡には対象URL、リクエストヘッダー、Vary値、CDNキャッシュキー、Hit/Miss、ACAO、Accept-Language、Accept-Encoding、レスポンス差分を残します。
Vary: Originがないと別Origin向けのACAOがCDNで再利用されることがあります。逆にVaryを広げすぎるとキャッシュ効率が落ち、原因調査も複雑になります。
Varyは、どのリクエストヘッダーごとにキャッシュを分けるかを示すHTTPレスポンスヘッダーです。CORS、言語切替、圧縮、デバイス別表示、CDNキャッシュ制御で使います。
実務では、Vary: Origin、Accept-Encoding、Accept-Language、Authorization、Cookie、CDNのキャッシュキー、プロキシの再利用条件を確認します。
証跡には、対象URL、リクエストヘッダー、Vary値、CDNキャッシュキー、Hit/Miss、ACAO値、レスポンス差分、確認時刻を残します。
Varyが不足すると、Originや言語が違う利用者へ別の利用者向けのレスポンスが返ることがあります。CORSではVary: Originがないと、CDN経由で別Origin向けのACAOが再利用される場合があります。
一方でVaryを広げすぎるとキャッシュ効率が落ちます。分岐に本当に使っているヘッダーだけを指定し、CDN側のキャッシュキーと合わせます。
OriginごとにACAOを変えるAPIでは、Vary: Originが重要です。認証付きAPIや管理画面では、CookieやAuthorizationの扱いによりキャッシュしてはいけないレスポンスもあります。
ブラウザではCORSエラーに見えても、実際はCDNが古いACAOや別Origin向けの応答を返していることがあります。API、CDN、ブラウザの3点で確認します。
Accept-LanguageやAccept-Encodingで応答が変わる場合もVaryが必要です。圧縮済み応答や言語別ページが混ざると、文字化け、表示崩れ、想定外の言語表示につながります。
モバイル/PC、A/Bテスト、地域別出し分けなどをヘッダーで行う場合は、キャッシュキーに含めるか、そもそもキャッシュ対象にしないかを決めます。
Vary対応では、対象URL、分岐ヘッダー、Vary値、CDN設定、キャッシュHit/Miss、障害時の再現条件を残します。ブラウザ、CDN、オリジンで見える値が違うためです。
引き継ぎでは、Web基盤担当、API担当、CDN運用担当、関連語としてHTTPヘッダー、CORS、ACAO、CDNを残すと確認しやすくなります。
同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。