正确使用api的缓存控制头

时间:2014-07-13 10:37:05

标签: php caching http-headers

为了改进Web api的客户端缓存(用作移动应用程序的后端),我想使用缓存控制头。所有数据都通过https-get请求作为json字符串提供,而不是特定于用户的。因此,如果用户A发出请求而用户B做出相同的操作,则他们会得到完全相同的数据。

我对这个缓存有点新意,只想问我是否把事情做对了。可以说我想建议客户缓存10分钟的响应,以这种方式设置标题是否正确?

cache-control: public, max-age=600
expires: <current server time + 600s>

另外,我不确定在这个特定用例中设置must-revalidate是否是个好主意。据我所知,用户代理可能会在某些情况下提供过时的数据(例如移动设备上的互联网连接不良)。通过设置must-revalidate可以防止这种情况(如果max-age已过期,则不会在任何情况下提供过时的数据)。这是正确的吗?在这种情况下,我不会使用它,因为提供过时的数据会比没有数据更好。

0 个答案:

没有答案