5

CloudFront ディストリビューションに正常に渡される有効期限ヘッダーを使用してアセットを S3 に配置しています。ただし、期限切れ後のリクエストでは、CloudFront がオリジンサーバーから新しいファイルをリクエストすることにはなりません。

また、クエリ文字列のバージョン トークンが新しいアセットを強制しないこともわかりました。また、完全なファイル名のバージョン管理を使用したくありません。

これはすべて、キャッシュ制御ヘッダーに関する私の知識不足に起因する可能性がありますが、CloudFront がどのように機能するかについて重要な何かを見落としているのではないかと考え始めています。CloudFront の応答は、次のようなヘッダーを示しています。

Cache-Control: max-age=120
Expires: Tue, 07 Apr 2009 12:13:26 GMT
4

3 に答える 3

9

時が経ち、物事は変化します。ティムが指摘したように、最低キャッシュ時間は 24 時間でしたが、2010 年 4 月に Amazon は、キャッシュを 1 時間まで短縮するための指示を認識して従うと発表しました。

ここでのお知らせ: http://developer.amazonwebservices.com/connect/ann.jspa?annID=655

于 2010-06-27T01:05:19.163 に答える
4

Amazon は 24 時間未満の有効期限を無視しているようです。 http://developer.amazonwebservices.com/connect/thread.jspa?messageID=107699꒳

于 2009-04-07T14:55:17.457 に答える
0

Matchu のコメントに記載されているように、必要に応じて有効期限をゼロまで設定できるようになりました。これは、開発サーバーやテスト サーバーにとって非常に便利です。

http://aws.amazon.com/about-aws/whats-new/2012/03/19/amazon-cloudfront-lowers-minimum-expiration-period/

最小 TTL 値は 0 秒と短い場合があります。次に、オリジンのファイルにキャッシュ制御ヘッダーを設定することで、各ファイルの TTL を設定できます。

Amazonのドキュメントの内容にも注意してください:

Expires ヘッダーの有効期限の日時が過ぎると、エッジロケーションがオブジェクトのリクエストを受信するたびに、CloudFront はオリジンサーバーからオブジェクトを再度取得します。

Expires ヘッダー フィールドの代わりに Cache-Control max-age ディレクティブを使用して、オブジェクトのキャッシュを制御することをお勧めします。Cache-Control max-age と Expires の両方の値を指定すると、CloudFront は max-age の値のみを使用します。

于 2013-10-07T15:55:24.087 に答える