我正在使用谷歌云存储来存储我的静态文件。我想将cloudfront用于静态内容,以便为同一地理位置的用户节省一些网络延迟。但是在使用cloudfront时我无法启用浏览器端缓存。
当我从我的服务器请求静态文件时,我得到的http响应如下:
Alternate-Protocol:80:quic,p=0.5
Cache-Control:public, max-age=7200
Content-Length:57420
Content-Type:image/jpeg
Date:Fri, 10 Apr 2015 08:34:04 GMT
ETag:"51988d8bda68def10ccbf20be57c4e92"
Server:Google Frontend
但是当从云端缓存控制头获取相同内容时,如下所示:
Alternate-Protocol:80:quic,p=0.5,80:quic,p=0.5
Cache-Control:private
Connection:keep-alive
Content-Length:57420
Content-Type:image/jpeg
Date:Fri, 10 Apr 2015 08:34:15 GMT
ETag:"51988d8bda68def10ccbf20be57c4e92"
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Server:Google Frontend
Via:1.1 c038088d4b94486d7346fd44d03188a0.cloudfront.net (CloudFront)
X-Amz-Cf-Id:EsZLHl0_FzO-naSjD8umC90_nxLXj-LzpHWQYoT6_3hIsKS3TqfOnw==
X-Cache:Miss from cloudfront
我做错了什么?
PS。我没有在谷歌云存储中设置文件元数据,并且在运行时在httpservletresponse(java后端)中添加了“etag”和“cache-control”标头。
感谢名单!