首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Cloudflare缓存JSON

使用Cloudflare缓存JSON
EN

Stack Overflow用户
提问于 2012-07-19 19:41:41
回答 2查看 14.1K关注 0票数 10

我正在为我在谷歌应用引擎上的应用程序开发一个后端系统。

我的应用程序和后端服务器与json通信。像http://server.example.com/api/check_status/3838373.json或只有http://server.example.com/api/check_status/3838373/

我计划使用CloudFlare来缓存JSON页面。

我应该在header上使用哪个?:

代码语言:javascript
复制
Content-type: application/json
Content-type: text/html

CloudFlare是否会缓存服务器的响应以降低成本?因为我不会使用CSS、图像等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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。

票数 22
EN

Stack Overflow用户

发布于 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://support.cloudflare.com/hc/en-us/articles/218411427-What-does-edge-cache-expire-TTL-mean-#summary-of-page-rules-settings

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11560101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档