web-dev-qa-db-ja.com

AkamaiのCache-Controlヘッダーの最低年齢はどれくらいですか?

私たちは、CDN(おそらくアカマイ)との統合を計画しており、max-ageの値をどれだけ低くできるかを決定しようとしています。

ツイートが出てから数十万人がアクセスする可能性のあるサイトでは、コンテンツをキャッシュすることでサーバーの負荷を軽減できます。とはいえ、私たちのクライアントは、何かが時期尚早に公開された場合、コンテンツをすぐに変更できないことに敏感です。

私たちの計画は段階的なキャッシュ制御プロセスを実装することでした。最初の1〜10分間は低い(20〜30秒?)Cache-Control max-ageで開始し、その後は正常に動作しているように見えますが、コンテンツが一定期間ライブであるため、max-ageの増加を開始します。たとえば、数時間後に60分に設定し始め、1日後にそれを1日に絞ることができます。

元の質問に戻って、キャッシュ制御ヘッダーを20〜30秒などの低レベルに設定することは可能ですか? (アカマイはここで最小値を設定しますか?ここでGoogle検索で詳細を追跡することができませんでした)

4
Robby Russell

アカマイには最小のキャッシュTTL値がありません。 1秒または0を設定できます。ただし、Akamaiの設定を変更することはネットワークのサイズが原因で即座に行われないため、Originキャッシュコントロールヘッダーを使用する方が適切です。

最低でも5分から始めることをお勧めしますが、最も理想的な時間は10分です。

コンテンツを変更するには、キャッシュされたコンテンツで次の組み合わせをアカマイで使用することをお勧めします。

  • コンテンツに最終変更ヘッダーを設定します
  • Akamaiでは、IMS checkまたはTTLを30秒から1分に設定します。
  • コンテンツが変更されたら、コードによって新しい日時を正しく設定します。システムクロックがOrigin側で正しく設定されていることを確認してください。 LMSヘッダーの形式が正しいことを確認してください。

上記を使用すると、何も変わらない場合は本文のみを配信します304

  • または、「Etag」を使用して、アカマイの設定で「Etag」を有効にするように依頼します。
  • コンテンツが変更されるたびに、eTagが更新されます。 EtagsはAkamaiで自動的に有効化されません

長い間使用していませんが、CDNからコンテンツを提供するときに設定されるキャッシュ制御ヘッダーについて話している場合は、ソースから取得されます。たとえば、キャッシュ制御ヘッダーがmax-age 10sのプルがある場合、CDNはそれをコピーします。 (クラウドフロントでも同じです)。インターフェイスを介してこれらのヘッダーをオーバーライドできるのは、MaxCDNのみです。

CDNに関しては、通常、できるだけ長くキャッシュを設定します。キャッシュ制御ヘッダーがそれほど短く設定されていない場合、ポイントはCDN(サイトを地理的に特定する高価な方法以外)です。短いヘッダーがある場合、cdnは新しいコンテンツを取得するためにサイトにアクセスする必要があります。これにより、訪問者が実際にコンテンツ自体を取得するのに遅延が追加され、キャッシュミスと呼ばれます。

CDNの段階的導入を計画している場合の最善の策は、画像、アイコン、CSS、Javascriptなどの静的リソースにそれを使用することです。 CSS、Images、またはJS serverSideを作成する場合、これらのリソースを削除する方法を検討するか、クエリ文字列またはurlパラメーターを使用してバージョンを改善する必要があります。

再び。赤見は他のオプションに比べてすっごく高価でした。本当に長いキャッシュヘッダー(1年程度)にしかメリットがありません。

1
Frank