Varyサポート機能の利用

ウェブアクセラレータのVaryサポート機能の利用方法に関するページです。

注意

利用上の注意事項
Varyサポート機能は、オリジンサーバ側のVaryヘッダの指定の仕方によってウェブアクセラレータのキャッシュヒット率が大幅に低下する可能性があります。前提条件及び設定内容をご理解の上でご利用いただくよう、お願いいたします。

注意

オリジン種別 オブジェクトストレージ
Varyサポート機能は、オリジン種別が「オブジェクトストレージ」のサイトでは非対応となっております。オリジン種別が「ウェブサーバ」のサイトにご利用ください。

概要(Varyサポート機能とは)

Varyサポート機能は有効にすると、1つのURLに対して複数のキャッシュを保持しクライアントに応じてコンテンツを出し分けて配信ができます。 Varyサポート機能無効時は1つのURLにつき保持するキャッシュは1つのみで、全てのクライアントに同じコンテンツが配信されます。

ウェブアクセラレータでVaryヘッダの設定内容に応じて、1コンテンツ(1つのURL)に対して複数の種類のキャッシュを作成・配信を行います。
1つのURLで表示(コンテンツ)の出し分けをしているウェブサイトを、ウェブアクセラレータ経由でキャッシュ配信する場合に活用していただけます。

  • 圧縮・非圧縮の出し分け(非圧縮あるいは gzip,Brotli での圧縮)
  • オリジン間リソース共有 (Cross-Origin Resource Sharing) (CORS)

前提条件・設定例

前提条件

  • ウェブアクセラレータが適切に設定(DNSの設定及びステータス有効化)がされている必要があります。
  • オリジンサーバのレスポンスヘッダにVaryヘッダの設定及び、オリジン側で設定内容に応じたコンテンツの出し分けの設定が必要です。
  • 個別キャッシュ削除は、Varyサポート機能利用時もURL単位(?クエリストリング込み) となります。(特定の種類だけのキャッシュ削除はできません)
  • Varyサポート機能が有効なサイトでは1つのURLに対し最大 5種類 のキャッシュを保持できます。 5種類 以下になる様Varyヘッダを指定してください。

注意

User-Agent の指定について
User-Agent は指定しないでください。User-Agentには大量の種類が存在するため、1つのURLでウェブアクセラレータがキャッシュ保持可能な上限(5種類)を超え、キャッシュヒット率が大幅に低下する原因となります。
(ウェブアクセラレータを適用するメリットが失われます)

注意

WebPとPNGの出し分けについて
Acceptヘッダ(Vary: Accept)によるWebP画像とPNG画像の出し分けは推奨されません。
Acceptヘッダの値はブラウザによって様々で5種類を超えてしまう為、ウェブアクセラレータでVaryサポートを有効にしてもキャッシュヒット率が低下してしまう原因となります。
代替として、HTMLの <picture> タグをご検討ください。HTMLの <picture> タグを利用した方法については 【TIPS】HTMLの <picture> タグでWebP/PNGや解像度の異なる画像などを出し分けたい をご確認ください。

設定手順

ウェブアクセラレータのVaryサポート機能を有効にします。

1. 対象サイトの「設定」ボタンをクリックします。

2. Varyサポート 項目のチェックボックスの有効をクリックします。

※ Brotli での圧縮出し分けを行いたい場合は、 オリジンサーバ側でのVaryの指定例 のご確認の上、「Accept-Encoding正規化」項目で「brとgzipの組に正規化」を選択してください。

3. 「保存」ボタンをクリックします。

4. サイトの設定を変更しますか?の画面が開きますので、問題なければ「保存」ボタンをクリックします。

※ 変更した内容は、「保存」ボタンをクリックした時点で反映されます。

5. 保存が正常に完了すると、以下のような画面が表示されます。

6. 保存が完了したらキャッシュ管理の項目でキャッシュを削除するURLを入力します。

注釈

キャッシュの削除について
設定変更前の古いキャッシュが配信されてしまわないよう、キャッシュの削除を実行してください。(無効にする際にも行ってください)
以下の手順では「URL毎に個別削除」の方法を示しています。全件削除の必要がある場合は「全件削除」を実行してください。(オリジンの負荷に注意して選択してください)

注意

Varyサポート機能利用時の個別キャッシュ削除について
個別キャッシュ削除は、Varyサポート機能利用時もURL単位(?クエリストリング込み) となります。(特定の種類だけのキャッシュ削除はできません)

7. 個別削除をクリックし、キャッシュを削除します。

8. キャッシュ削除を実行すると、以下のような画面が表示されます。

9. ウェブアクセラレータの設定が完了したら、オリジンサーバのレスポンスヘッダに、Varyヘッダを指定します。

注釈

オリジンサーバにおいて、レスポンスヘッダへのVaryヘッダの指定と、指定した内容に応じたコンテンツの出し分けが必要です。
Varyヘッダの指定については次項の指定例をご確認ください。

オリジンサーバ側でのVaryの指定例

gzip,Brotli もしくは非圧縮

Vary: Accept-Encoding

Accept-Encoding の正規化(ノーマライズ)仕様について
ウェブアクセラレータの仕様として、クライアントのリクエストヘッダ「Accept-Encoding」の値は正規化(ノーマライズ)されます。
ウェブアクセラレータからオリジンには、「gzip (Accept-Encoding:gzip)」「Brotli (Accept-Encoding:br)」「非圧縮 (Accept-Encodingなし)」の3種類のみが、リクエストヘッダとして送られます。

  • クライアントのリクエストヘッダの値に「gzip または gzip に相当する設定」が 含まれる 場合
    例: Accept-Encoding: gzip
    → オリジンに「gzip (Accept-Encoding:gzip)」と送られます。
  • クライアントのリクエストヘッダの値が「gzip または gzip 相当する設定」が 含まれない 場合
    例: Accept-Encoding: compress
    → オリジンに「非圧縮 (Accept-Encodingなし)」」と送られます。

また、設定の「Accept-Encoding正規化」項目で「brとgzipの組に正規化」を選択している状態ではクライアントのリクエストヘッダの値によってオリジンへ以下のように送られます。

  • ブラウザが Brotli、gzip の両方に対応していれば Accept-Encoding: br , gzip
  • ブラウザが gzip のみ対応していれば Accept-Encoding: gzip
  • ブラウザが Brotli、gzip の両方ともに非対応であれば Accept-Encodingなし

(設定の「Accept-Encoding正規化」項目)

注釈

「Accept-Encoding正規化」をご利用の場合はVaryサポート機能を有効にしてください。また併せて オリジンサーバのレスポンスヘッダに、Varyヘッダの指定及び指定した内容に応じたコンテンツの出し分けの設定が必要です。

オリジン間リソース共有 (CORS)

Vary: Origin

注意

Vary: Origin の指定について
使い方によっては Vary: Accept-Encoding, Origin のように複数ヘッダを指定する場合もありますが、値の組み合わせが5種類を超えるとキャッシュヒット率が低くなってしまいますのでご注意ください。