为什么浏览器不能缓存具有Cache-Control HTTP头的资源?

时间:2013-01-16 19:33:08

标签: http caching header http-headers

我已经阅读了HTTP的所有缓存文档,这是我文件的标题: 编辑:我现在正在使用亚马逊S3,看它是否有帮助,仍然是同样的问题!这里请求和响应>我错过了什么?甚至认为响应要求浏览器缓存文件,它没有!我检查了谷歌浏览器缓存,但文件不存在。

Request URL:https://s3-sa-east-1.amazonaws.com/combo-combat-release/WebPlayer.unity3d
Request Method:GET
Status Code:200 OK

**Request Headers**
GET /combo-combat-release/WebPlayer.unity3d HTTP/1.1
Host: s3-sa-east-1.amazonaws.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

**Response Headers**
HTTP/1.1 200 OK
x-amz-id-2: xu/RKgR4Xt6G3jQ1qkdO5rzd4TlngDYYERZ+bbGlalitJFMDjAgiLAoP4GXhmkeo
x-amz-request-id: 6A9389D16407D28D
Date: Wed, 16 Jan 2013 22:42:26 GMT
Cache-Control: max-age=2592000, public, must-revalidate
Last-Modified: Wed, 16 Jan 2013 22:29:55 GMT
ETag: "0f8d22257da9fcae61f21fd30b7a1fd4"
Accept-Ranges: bytes
Content-Type: application/octet-stream
Content-Length: 39222189
Server: AmazonS3

但是浏览器不会缓存文件。每次发送请求并从头开​​始传输所有数据(200 OK而不是304)。 :(

文件大小为37.4 MB

关于可能出错的任何提示?

谢谢,
曼努埃尔

1 个答案:

答案 0 :(得分:3)

尝试HTTP 1.1而不是1.0。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html州:

请注意,HTTP / 1.0缓存可能无法实现Cache-Control和 可能只实现Pragma:no-cache