自動圧縮を有効にする

Fastly の圧縮機能は、オリジンからコンテンツを動的にフェッチし、Brotli または gzip (ユーザーのリクエスト形式に応じます) を使用して圧縮してからキャッシュします。圧縮機能を有効にする方法は2つあります。

  • デフォルトの圧縮ポリシーを有効にすると、拡張子が cssjshtmleoticootfttfjson、または svg のファイルのコンテンツが圧縮されます。
  • 高度な圧縮ポリシーを設定することで、圧縮対象のコンテンツと条件をカスタマイズすることができます。

制約と注意事項

限定提供版のご利用の際、以下の点にご注意ください。

  • 現在、API エンドポイントの名前は /gzip です。 限定提供版として提供されている間、自動圧縮の API については、gzip エンドポイントのドキュメントをご参照ください。ドキュメント化されている gzip API は、Brotli 圧縮を完全にサポートしています。
  • 現在、Varnish での圧縮は Edge Side Includes (ESI) と互換性がありません。 Varnish での圧縮は、ESI が適用されていない場合にのみ使用することを推奨します。ESI と圧縮を併用する場合は support@fastly.com までお問い合わせください。
  • 現在、圧縮機能はセグメントキャッシュと互換性がありません。 自動圧縮を使用する場合は、セグメントキャッシュを無効にしてください。
  • Brotli をサポートしているブラウザでは、Brotli がデフォルトの圧縮形式として使用されます。 お客様の Fastly アカウントで Brotli 圧縮の利用が可能になると、クライアントの Brotli 対応ブラウザによって適切な Accept-Encoding ヘッダーが送信された場合、レスポンスに Brotli 圧縮をデフォルトで使用します。複数の Accept-Encoding の値がある場合、gzip の使用も可能ですが、Brotli が優先されます。

圧縮を有効にする

Fastly のデフォルトの圧縮ポリシーでは、ファイルの拡張子やコンテンツタイプに基づいて、キャッシュ可能なコンテンツを動的に圧縮することができます。デフォルトの圧縮ポリシーを有効にするには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. Default compression policy スイッチをクリックすると、圧縮が有効になります。Fastly は Brotli (デフォルト) と gzip の両方の圧縮形式をサポートしています。選択される形式は、お使いのブラウザがサポートしている形式によって異なります。
  6. Activate ボタンをクリックして設定変更をデプロイします。

高度な圧縮ポリシーの設定

圧縮対象のコンテンツタイプや、圧縮が行われる条件を正確に指定する高度な圧縮ポリシーを設定するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. Set up advanced compression ボタンをクリックすると、Create a compression policy ページが表示されます。
  6. Override these defaults リンクをクリックします。追加の圧縮フィールドが表示されます。
  7. 以下の要領で Create a compression policy ページの各フィールドに入力します。
    • Name フィールドに新しい圧縮ポリシーの分かりやすい名前を入力します。
    • Extensions フィールドに、動的に圧縮するファイルの各種類の拡張子をスペースで区切って入力します。ファイル拡張子を表す3文字または4文字の文字列のみを入力します。
    • Content types フィールドには、動的に圧縮したいコンテンツの各コンテンツタイプをスペースで区切って入力します。正規表現は使用しないでください。
  8. Create ボタンをクリックします。新しい圧縮ポリシーが表示されます。
  9. Activate ボタンをクリックして設定変更をデプロイします。

自動正規化

リクエストヘッダーに基づいて出力を変更する際に圧縮が利用されることがよくあります。そのため、Fastly は受信したリクエストの Accept-Encoding の値を正規化します。変更されたヘッダーは、ブラウザによってサポートされる最適な圧縮方式に基づき、エンコーディングタイプなし、または単一のエンコーディングタイプに設定されます。

具体的には、インバウンドリクエストで以下の手順を実行します。

  1. User-Agent が圧縮されたレスポンスへの対応に問題があるブラウザのパターンに一致した場合は Accept-Encoding ヘッダーを削除します。
  2. Accept-Encoding ヘッダーに「br」の文字列が含まれる場合は、値全体を「br」の文字列に設定します。
  3. Accept-Encoding ヘッダーに「gzip」の文字列が含まれる場合は、値全体を「gzip」の文字列に設定します。
  4. Accept-Encoding ヘッダーに「deflate」の文字列が含まれる場合は、値全体を「deflate」の文字列に設定します。
  5. さもなければ Accept-Encoding ヘッダーを削除します。

この正規化プロセスにおいてヘッダー値が変更された場合、元の値は Fastly-Orig-Accept-Encoding カスタムヘッダーで利用可能になります。

Back to Top