我已阅读文档并尝试设置永久的云端缓存。我们的想法是,一旦下载图像,您就不需要再次下载它。我正在查看我的网络标签,但我认为不是。有人能告诉我这个文件是否有正确的缓存设置吗?
我的标题:
var headers = {
'Content-Length': options.data.length,
'Vary': 'Accept-Encoding',
'Expires': 1000 * 60 * 60 * 24 * 365 * 5,
'x-amz-acl': 'public-read',
'Content-Type': options.type
}
答案 0 :(得分:2)
您的图片看起来像是由CloudFront缓存的,但您的过期标头值无效。
来自HTTP 1.1规范(https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html):
格式是HTTP-date in定义的绝对日期和时间 第3.3.1节;它必须是RFC 1123日期格式
和
HTTP / 1.1客户端和缓存必须处理其他无效日期格式, 特别是包括值“0”,如同过去一样(即“已经” 过期“)。
和
要将响应标记为“永不过期”,原始服务器会发送一个
到期日期约为答复时间的一年 发送。 HTTP / 1.1服务器不应发送多于一个的过期日期 未来一年。
使用Cache-control标头可能更好,因为它取代了Expires标头。这样的事情会产生同样的效果:
Cache-Control: max-age=31536000