有关Google App Engine的缓存代理的详细信息?

Kyl*_*yle 18 google-app-engine caching

Google App Engine必须具有某种反向缓存代理,因为当我Cache-Control public, max-age=300从其中一个servlet 设置响应头时,对应用引擎的后续请求会显示在日志中,如下所示: /testcaching 204 1ms 0cpu_ms 49kb而非缓存请求在日志中显示为:/testcaching 200 61ms 77cpu_ms 49kb.

无论如何,我的问题是:有没有人有关于这个反向缓存代理的更多细节?

mnd*_*rix 20

我发现有关App Engine的缓存代理的最佳文档是App Engine组的帖子.以下引用的相关部分为后代.所有功劳归功于Brandon Wirtz:

"如果你想要边缘缓存工作,你需要确保你做了以下事情

  1. 设置公共.如果你没有公开,它将永远不会被缓存.
  2. 设置最大年龄.如果您设置为public但未指定max-age,则不会缓存它
  3. 使用逗号. public, max-age=300工作良好. Public; max-age=300才不是.
  4. 设置年龄大于60. 61似乎缓存.60没有.可能会根据到期时间缓存一些卷,但是我们运行的卷61的61秒似乎是缓存而且似乎没有60.
  5. 设定年龄不超过366天.364天似乎工作.365大部分时间都有效.366似乎永远不会起作用.所以那些"永不过期"的帖子让人们谈论永不过期的版本化资产.好吧10年不是正确的答案.
  6. 带有日期的过期似乎没有帮助,并且在某些情况下似乎可能会阻止缓存.我想这可能是时钟漂移.或者关于解析器对日期格式有多挑剔的事情.在浏览器中工作的东西并不总是在edgecache中正常工作...(比如Semi vs the逗号)
  7. 设置Pragma和Cache-Control.如果Pragma未设置为Public,则Cache-Control似乎被忽略."