2009-04-07 1 views
5

私は、CloudFrontディストリビューションに成功裏に通過する、有効期限のヘッダーを持つS3に資産を入れています。ただし、有効期限が過ぎても、CloudFrontは元のサーバーから新しいファイルを要求しません。CloudFrontのキャッシュ - 期限切れ後にS3オリジンサーバーからCFがリフレッシュされるようにする方法は?

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

これは私のキャッシュコントロールヘッダーに関する私の貧しい人々の知識にまで及ぶかもしれませんが、私はCloudFrontがどのように動作することになっているかについて批判的なものがないか不思議に思っています。 CloudFrontの応答には、次のようなヘッダーが表示されます。

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

これを調べ始めると、クエリ文字列のバージョントークンが更新を強制しないということは少し気になりますが、私はURLの書き換えを行うことができますが、そうしたくないと思います。 (私は、さまざまなクエリーストリングを持つ単一のURLから、圧縮されたバージョンのCSSとJSのバリエーションを生成するために使用しています) – Myster

答えて

9

時間が経過して物事が変わります。ティム氏が指摘したように、最低のキャッシュ時間は24時間であったが、2010年4月にアマゾンは1時間までキャッシュするための命令を認識し、それに従うと発表した。ここ

お知らせ:Matchuのコメントで述べたように、あなたがしたい場合http://developer.amazonwebservices.com/connect/ann.jspa?annID=655

+3

2012年に来ると、さらに続きます:[最小有効期限はまったくありません] //aws.amazon.com/about-aws/whats-new/2012/03/19/amazon-cloudfront-lowers-minimum-expiration-period/):) – Matchu

0

、あなたは今、DEV、テストサーバのための本当に素晴らしいしている、すべての方法ダウンゼロに有効期限を設定することができます!

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

最小TTL値が0秒と短くてもよいです。ファイルのキャッシュコントロールヘッダーを原点に設定することで、各ファイルのTTLを設定できます。

はまたwhat the Amazon docs sayに注意してください。

における有効期限ヘッダが経過過ぎると、CloudFrontは、オリジンサーバから再度エッジ位置は、オブジェクトの要求を受信するたびに、オブジェクトを取得します。

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

関連する問題