1

私はこの質問に数日間苦労してきました。

キャッシュに保存されているオブジェクトの経過時間。特にクラウドフロントが気になります。指定したら

キャッシュ制御: max-age=60、パブリック

T = N でアップロードしてから 10 分経過すると、エンティティの公式年齢は 600 秒になりますか? 言い換えれば、エンティティの年齢は NOW - T ですか?

たとえば、有効期限が 30 分のファイルを S3 にプッシュし、そのファイルの新しいバージョンを 1 週間プッシュしなかった場合、Cloud Front はそのエンティティを再検証 (GET If-Modified-Since) しますか?リクエストごとに?それとも、エンティティを 30 分ごとに再検証し、再検証のたびに年齢を 0 に戻しますか?

ここで年齢の定義を調べましたが、答えが何であるかはよくわかりません。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

4

1 に答える 1

1

このmax-ageディレクティブは、指定された URL のコンテンツが無効であるとクライアントが見なすまでの時間を秒単位で指定します。

これは、max-age が 10 分の場合、t 時点でリソースを取得すると、たとえば t + 9 分の時点でコンテンツが必要な場合、取得されないことを意味します。ただし、その有効期限はクライアント側では変更されません。

つまり、t + 10 分後の任意の時点で、コンテンツが再度取得され、その有効期限が再計算されます (その間に変更された可能性があるため)。

少なくとも、それがクライアントの操作方法です

max-age=0 は、「常にそのリソースを再度取得する」に相当します。

于 2013-01-12T15:27:12.800 に答える