我正在为我在谷歌应用引擎上的应用程序开发一个后端系统。
我的应用程序和后端服务器与json通信。像http://server.example.com/api/check_status/3838373.json或只有http://server.example.com/api/check_status/3838373/
我计划使用CloudFlare来缓存JSON页面。
我应该在header上使用哪个?:
Content-type: application/json
Content-type: text/html
CloudFlare是否会缓存服务器的响应以降低成本?因为我不会使用CSS、图像等。
发布于 2012-07-20 07:26:55
标准的Cloudflare缓存级别(在您的域的性能设置下)被设置为标准/积极,这意味着默认情况下它只缓存某些类型的scripts, stylesheets, images。主动缓存不会缓存正常的网页(例如,在目录位置或*.html),也不会缓存JSON。所有这些都是基于URL模式的(例如,它是否以.jpg结尾?)并且与Content-Type报头无关。
全局设置只能设置为不那么激进,而不是更多,因此您需要设置一个或多个页面规则来匹配这些URL,并使用Cache Everything作为自定义缓存规则。
http://blog.cloudflare.com/introducing-pagerules-advanced-caching
顺便说一句,我不建议对JSON响应使用HTML Content-Type。
发布于 2021-03-31 21:25:52
您可以在Cloudflare上缓存您的JSON响应,就像缓存任何其他页面一样--通过设置Cache-Control
头。因此,如果您想在边缘(s-maxage
)和浏览器(max-age
)上缓存JSON 60秒,只需在响应中设置以下标头:
Cache-Control: max-age=60, s-maxage=60
您可以在此处了解有关不同缓存控制标头选项的更多信息:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
请注意,不同的Cloudflare计划对它们允许的最小边缘缓存TTL有不同的值(企业计划允许低至1秒)。如果你的头文件的值低于这个值,那么我猜它们可能会被忽略。您可以在此处看到限制:
https://stackoverflow.com/questions/11560101
复制相似问题