目的是在n天(出于财务原因)触发一次请求不超过一次-HTTP客户端应调查缓存以确定响应是否已可用。响应帮助中将max-age指令设置为n天(例如Cache-Control:public,max-age = 604800)吗? 我知道这可用于带有enableCaching(ttl)选项的GET请求,但是我们可以为POST请求实现类似的行为吗?
要恢复,我唯一的想法是,如果响应中设置了一个n天的max-age指令,这将强制该服务在n天后发出另一个请求,无论它是GET还是POST 。
答案 0 :(得分:0)
也许Redis是您要寻找的东西
答案 1 :(得分:0)
您可以请求对POST响应进行缓存,但是没有承诺。来自RFC 7231:
仅当POST请求的响应包含以下内容时才可缓存 显式的新鲜度信息(请参阅[RFC7234]的4.2.1节)。 但是,POST缓存并未广泛实现。
如果同时控制服务器和客户端,则可以:
对于 原始服务器希望客户端能够缓存 以可以被更高版本的GET(原始服务器)重用的方式进行POST 可以发送200(OK)响应,其中包含结果和 具有与POST相同值的Content-Location标头字段 有效的请求URI(第3.1.4.2节)。
此外,请注意,任何缓存都可以随时清除您的表示,因此仅因为您要求保留某些内容并不意味着会。您指定的是 max 年龄,而不是保证的年龄。