如何让CloudFront的缓存内容,但要浏览器不缓存? (所以浏览器总是从CF获取在每次刷新时)

问题描述 投票:0回答:1

下面的代码告诉浏览器的CloudFlare不缓存页面。我需要的CloudFlare缓存的内容。但浏览器不缓存内容。

header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s",time()+1) . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

我想实现用例是让我清除缓存和有结果立即反映在游客的浏览器。 (我通过API动态地清除缓存)

caching cloudflare
1个回答
0
投票

我找到答案,从下列来源我的问题:https://support.cloudflare.com/hc/en-us/articles/202775670-How-Do-I-Tell-Cloudflare-What-to-Cache-

它提到:

如果客户想在指定的CDN缓存超时这是我们也可以使用S-最大生存周期的浏览器不同:

Cache-Control: s-maxage=200, max-age=60

这将告诉CloudFlare的缓存对象200秒和浏览器缓存的对象为60秒。基本上,S最大生存周期仅旨在由反向代理(所以浏览器应该忽略它),而在另一方面应遵循,CloudFlare的如果存在的话优先S-最大生存周期。请注意,我们会尊重取其价值较高:在CloudFlare的或浏览器缓存设置的最大年龄头。

© www.soinside.com 2019 - 2024. All rights reserved.