2017-11-21 5 views
0

私たちは画像を配信するためにAzure CDNを使用していますが、キャッシュコントロールがないにもかかわらずWebブラウザーによって画像が強くキャッシュされている理由を理解しようとしていますまたはイメージレスポンスでヘッダーを期限切れにします。Cache-ControlまたはExpiresヘッダーのないCDNの強力なキャッシュの問題

は、例えば、以下のレスポンスヘッダーはAzureのCDNからの画像のために戻される。

HTTP/1.1 200 OK 
Accept-Ranges: bytes 
Access-Control-Allow-Origin: * 
Content-MD5: KuQCJm6GQyEjejWwmRgRwQ== 
Content-Type: image/jpeg 
Date: Tue, 21 Nov 2017 00:15:57 GMT 
Etag: 0x8D523228F0F4C42 
Last-Modified: Sat, 04 Nov 2017 01:22:47 GMT 
Server: ECAcc (meb/A744) 
X-Cache: HIT 
x-ms-blob-type: BlockBlob 
x-ms-lease-status: unlocked 
x-ms-request-id: 00822b7c-001e-0045-4194-61d246000000 
x-ms-version: 2009-09-19 
Content-Length: 5143 

<<image data>> 

あなたが返さたEtagヘッダが、又はが期限切れないのCache-Controlがある見ることができるようにヘッダー。

ブラウザ(Fiddlerを使用)をブラウザ(Chrome)からトレースすると、これらの画像に対する後続のリクエストは表示されません。

このイメージの後続のリクエストをサーバーに戻す(弱いキャッシング)ことを理解していて、ファイルが変更されていない場合はレスポンスは返されません304が返されます。

誰もがこれにどのような光を当てることができますか?

答えて

1

ヘッダーのキャッシュコントロールが必要だと思います。変更がなければ、ブラウザがソースを確認して304モーターを修正して返すようにする必要があります。

これはキャッシュの観点からは最適ではありません。

QSの変更( "v = ??")を使用してjsを無効にするか、有効期限/最大有効期限ヘッダーを短く設定する方が良いでしょう(60/120秒、 ???)。

期限切れヘッダーをetagsと組み合わせると、ブラウザーは有効期限が切れた後にサーバーから変更されていない304を受け取ることになります。

+0

あなたはありがとうございます。キャッシュ制御の欠如:必然的な再検証が問題でした。 – antscode

関連する問題