为什么Google Cloud Storage无法发送正确的缓存头?

时间:2019-06-20 05:25:21

标签: google-cloud-platform google-cloud-storage

我在Google云端存储中有一些要通过标准浏览器缓存进行缓存的图像。因此,我在文件对象元数据字段中写道:

Cache-control : public, max-age=300, no-transform

但是当我通过生成的URL获取图像时,缓存标头读取:

cache-control: no-cache, no-store, max-age=0, must-revalidate

为什么会发生,我该如何解决?

Headers from browser screenshot

Metadata form in Google Cloud Storage screenshot

2 个答案:

答案 0 :(得分:0)

documentation中所述,只能缓存公共对象:

  

缓存控制仅适用于具有公共读取ACL的对象。   非公开数据不可缓存。

即使该对象不是公共对象,您也可以设置Cache-Control元数据,但这将无效。

答案 1 :(得分:0)

好的,我解决了这个问题。 Google对象有2个访问链接。您可能会在屏幕截图上看到正确的链接。以前,我使用“链接URL”部分上的链接。

两个链接之间的区别是请求服务器:

我很困惑,但是我看不到链接按钮太小,所以靠近大的“链接URL”。

correct url screenshot