3

S3に画像をアップロードしています。ヘッダー/リクエストは次のとおりです。

PUT /d899a0475f39e4a1d8c4b2af540d0820.png?AWSAccessKeyId=AKIAIHRUBWYK7YNNWSLQ&Expires=1376548390&Signature=uP677w4lNA81USKByuJwU0FmUuE%3D&Cache-Control:%20max-age=229000 HTTP/1.1
Host: test199801672.s3.amazonaws.com
Content-Length: 436983
Content-Type: image/png

通りますCache-Control: max-age=229000

200 OK の応答が返され、画像がアップロードされますが、何らかの理由でCache-Control値が読み取られません。画像をダウンロードすると、次のようになります。

HTTP/1.1 200 OK
Content-Type: image/png
Content-Length: 436983
Connection: keep-alive
Date: Thu, 15 Aug 2013 05:33:15 GMT
Last-Modified: Thu, 15 Aug 2013 05:33:11 GMT
ETag: "dbb3afa053cfc18e45f1d8c7ef8ddfd4"
Accept-Ranges: bytes
Server: AmazonS3
Via: 1.0 9dd1962ecf68cae08454f386dd1975c1.cloudfront.net (CloudFront)
X-Cache: Miss from cloudfront
X-Amz-Cf-Id: anyUV_WtyIdEjDrRsrsWc5l9WGIVW0AnIjNn7b_g_EgS7rlP0rxoAw==

Cache-Control応答にヘッダーはありません。X-Cache言います:Miss from cloudfront

私は何を間違っていますか?ありがとう!

4

2 に答える 2

2

わたしにはできる。

メタデータの下のコントロール パネルを使用して、S3 の各ファイルに Cache-Control max-age=3600 ヘッダーを設定しました。(API はこれを行うことができます)

私の CloudFront には Behavior Object Caching = Use Origin Cache Headers があります。

私のウェブサイトのヘッダー応答は、S3 で設定した Cache-Control ヘッダーを表示するようになりました。

(もちろん、クラウドフロントがそれらのファイルの既存のバージョンを無効にするのを待たなければなりませんでした。私はこれらのファイルの CloudFront 無効化とともにこれを助けました)

于 2014-09-25T16:51:54.287 に答える
0

アドレス バーから img リソースが要求されると、Chrome と Opera は Request ヘッダーで Cache-Control=0 を送信し、Safari は Cache=No を送信します。このため、ブラウザはキャッシュから画像を取得しません。

Firefox はそのようなヘッダーを送信しません。

しかし、画像の src タグを介して同じ URL が要求された場合、すべてのブラウザーはキャッシュ制御を尊重し、ヘッダーの上の要求では送信されません。

于 2016-11-17T13:18:24.153 に答える