Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php api的缓存控制头的正确用法_Php_Caching_Http Headers - Fatal编程技术网

Php api的缓存控制头的正确用法

Php api的缓存控制头的正确用法,php,caching,http-headers,Php,Caching,Http Headers,为了改进用作移动应用程序后端的web api的客户端缓存,我想使用缓存控制头。所有数据都通过https get请求作为json字符串提供,并且不是特定于用户的。因此,如果用户A发出请求,而用户B发出相同的请求,那么他们会得到完全相同的数据 我对这种缓存的东西有点陌生,只是想问问我是否做对了。假设我想建议客户端将响应缓存10分钟,这样设置头是否正确 cache-control: public, max-age=600 expires: <current server time + 600s&

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

我对这种缓存的东西有点陌生,只是想问问我是否做对了。假设我想建议客户端将响应缓存10分钟,这样设置头是否正确

cache-control: public, max-age=600
expires: <current server time + 600s>
另外,我不确定在这个特定用例中设置必须重新验证是否是一个好主意。据我所知,在某些情况下,用户代理可能会提供过时的数据,比如移动设备上糟糕的互联网连接。通过设置“必须重新验证”可以防止这种情况。如果“最大年龄”已过期,则在任何情况下都不要提供过期数据。是这样吗?在这种情况下,我不会使用它,因为提供过时的数据比完全没有数据要好