为了改进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已过期,则不会在任何情况下提供过时的数据)。这是正确的吗?在这种情况下,我不会使用它,因为提供过时的数据会比没有数据更好。