自動 gzip 圧縮を有効にする

Fastly は、情報送信を高速化するために gzip データ圧縮に対応しています。Fastly の gzip 機能は、オリジンからコンテンツを動的にフェッチ、圧縮、そしてキャッシュします。gzip を有効にする方法は2つあります。

  • ファイル拡張子に基づいて。 デフォルトの gzip ポリシーを有効化することで、次の拡張子のファイル内のコンテンツを圧縮することができます。css js html eot ico otf ttf json svg
  • コンテンツタイプに基づいて。 高度な gzip ポリシー を設定することでと、圧縮対象コンテンツと条件をカスタマイズすることができます。

gzip の有効化

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

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. gzip を有効にするには、Default gzip policy スイッチをクリックします。
  6. Activate ボタンをクリックして設定変更をデプロイします。

高度な gzip ポリシーの設定

圧縮対象コンテンツと圧縮の条件をカスタマイズするには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. Set up advanced gzip ボタンをクリックします。Create a gzip 設定画面が開きます。
  6. Override these defaults リンクをクリックします。追加の gzip フィールドが表示されます。

    新規 gzip の作成

  7. 以下のように Create a gzip の各フィールドに入力します。
    • Name フィールドに、新しい gzip ルールの名前を入力します。
    • Extensions フィールドに、動的 gzip 圧縮対象のファイル拡張子を入力します。拡張子は、スペースで区切ります。ファイル拡張子を表す3文字または4文字の文字列のみを入力します。
    • Content Types フィールドに、動的 gzip 圧縮対象のコンテンツタイプを入力します。コンテンツタイプはスペースで区切ります。正規表現は使用しないでください。
  8. Create ボタンをクリックします。新しい gzip ポリシーが表示されます。
  9. Activate ボタンをクリックして設定変更をデプロイします。

自動正規化

gzip 圧縮を利用する場合、リクエストヘッダーに基づいて出力を変更することがあります。そのため、Fastly は受信したリクエストの Accept-Encoding 値を正規化します。変更されたヘッダーは、ブラウザによってサポートされる最適な圧縮方式に基づき、エンコーディングタイプなし、または単一のエンコーディングタイプに設定されます。IE6 など、gzip 圧縮に対応しているにもかかわらず機能に問題があるブラウザからのリクエストの Accept-Encoding 値の削除も可能です。

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

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

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

Fastly はエッジでの Brotli エンコーディングをサポートしていないため、ユーザーエージェントが Brotli をサポートをする場合、これを gzip に正規化します。ただし、オリジンサーバーで Brotli エンコーディングを行っている場合は、Fastly の正規化アルゴリズムを変更した方が良い場合があります。

Back to Top