3

AWS Cloudfront のドキュメントには次のように記載されています。

特定のオリジンの TTL を 0 に設定した場合でも、CloudFront はそのオリジンからのコンテンツをキャッシュします。その後、If-Modified-Since ヘッダーを使用して GET リクエストを行います。これにより、キャッシュされたコンテンツがオリジンで変更されていない場合、CloudFront がキャッシュされたコンテンツを引き続き使用できることをオリジンに通知する機会が与えられます。

動的コンテンツを構成する必要があります。すでに TTL を 0 に設定しています。すべてのリクエストが常に Origin に送信されるようにします。If-Modified-Since ヘッダーを使用して、この追加の GET リクエストを回避する方法はありますか? なぜ毎回この追加のリクエストが必要なのですか?

4

2 に答える 2

4

GETこの追加のリクエストを回避する方法はありますか

読んでいるものを誤解しているように聞こえます。残念ながら、あなたはソースを引用していないので、前に戻ってより多くのコンテキストを取得することは困難です。ただし、これは「余分な」リクエストを指しているわけではありません。

次にGET、If-Modified-Since ヘッダーを使用してリクエストを行います。

これは、その後オブジェクトがブラウザによってリクエストされるたびに参照されます。CloudFront は次のリクエストを送信しIf-Modified-Since:て、オリジンサーバーが応答を返すオプション304 Not Modifiedを持っているようにします...ブラウザからの 1 つのリクエストに応じてオリジンに 2 つのリクエストを送信することはありません。

コンテンツが常に動的である場合は、Cache-Control: private, no-cache, no-store最小 TTL を返して 0 に設定します。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html#ExpirationDownloadDist

于 2016-10-11T18:43:22.680 に答える
2

これは、AWS から得た回答です。

ただし、その特定のオリジンのすべてのヘッダーを転送すると、リクエストは [1] で説明されている If-Modified-Since ヘッダーなしで毎回オリジンに送信されます。詳細については、以下のリンクからの抜粋をご覧ください。

「すべてのヘッダーをオリジンに転送する重要: すべてのヘッダーをオリジンに転送するように CloudFront を設定した場合、CloudFront はこのキャッシュ動作に関連付けられたオブジェクトをキャッシュしません。代わりに、すべてのリクエストをオリジンに送信します。」</p>

于 2016-10-17T02:25:22.360 に答える