- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的 WordPress 网站使用 Google Cloud CDN https://cdn.datanumen.com .我已启用“强制缓存所有内容”选项。但是,网页、css 文件、javascript 文件仍未缓存。仅缓存图像。
例如,我在 https://cdn.datanumen.com/ 处测试页面,我已经多次使用Ctrl + F5刷新网页,但总是得到相同的结果。
以下是我尝试加载的网页:
响应头中有“Cache-Control”字段,但没有“Age”字段。根据 Google 文档,如果缓存命中并提供缓存内容,则会出现“年龄”字段。所以没有“年龄”意味着文件没有被缓存。
我还检查了日志:
在日志中,cacheFillBytes 为 26776,cacheLookup 为 true。似乎 Google CDN 正在尝试查找缓存并用内容填充缓存。但是 statusDetails 显示“response_sent_by_backend”,所以内容仍然从后端提供。通常这应该只在我第一次访问网站时发生。但是对于我的情况,即使我多次按 Ctrl + F5 刷新我的网站,我也总是得到相同的结果,statusDetails 永远不会显示“response_sent_by_cache”等页面,例如 https://cdn.datanumen.com/
为什么?
更新:
我注意到响应头中有一个“Vary”字段:
基于 https://cloud.google.com/cdn/docs/caching#non-cacheable_content , 如果 Vary header 的值不是 Accept、Accept-Encoding 或 Origin,则不会缓存内容,因为对于我的情况,“Vary” header 是“Accept-Encoding,Cookie,User-Agent”,它不是缓存。但我的问题是如何处理问题并强制缓存内容?
更新 2
我已将该站点更改为真正的 WordPress 站点,因为这是我最终需要的。我计划使用 Google Cloud CDN 购买的支持,看看他们是否可以帮助解决这个问题。
最佳答案
根据 Google Cloud CDN 的 documentation ,解决您的问题的最佳方法实际上是使用 CACHE_ALL_STATIC 缓存模式:
关于caching - Google Cloud CDN "Force Cache All Content"不缓存所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68447859/
我是一名优秀的程序员,十分优秀!