在原始服务器中,我们返回的缓存控制标头为“ public,max-age = 3600”。
我们正在尝试缓存服务器返回的图像。图片由如下网址提供
https://<>.org/test?obj1="abc"&obj2="def"
返回的图像将与查询参数“ obj1”和“ obj2”中发送的值不同。
然后使用在AWS云前端中设置的默认对象缓存值。原始域已设置为“ abc.com”。
我们在Cloud Front设置中所做的唯一更改就是转发查询参数,即启用“将查询字符串转发到源,并根据查询字符串中的所有参数进行缓存”。
尽管具有这些设置,Cloud Front根本不会缓存。由于发送了标头,因此基于浏览器的磁盘缓存正确发生。
我们触发https://d3cudw8d7z9pmo.cloudfront.net/test?obj1="abc"&obj2="def"
这样的网址
以下是我们的服务器发送的响应标头
Cache-Control: public, max-age=6000
Content-Disposition: attachment; filename=Count.jpg
Content-Length: 93482
Content-Security-Policy: default-src 'none'; sandbox
Content-Type: image/jpeg
Date: Mon, 25 Nov 2019 12:11:21 GMT
Server: xxx
X-Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
最好的问候, 索拉夫