Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
Rest 基于API的应用程序中的HTTP缓存_Rest_Api_Http Caching - Fatal编程技术网

Rest 基于API的应用程序中的HTTP缓存

Rest 基于API的应用程序中的HTTP缓存,rest,api,http-caching,Rest,Api,Http Caching,我们应该只对静态内容使用http缓存吗 或者在API响应中,如果API中的数据不是静态的,是否可以使用缓存头?它可以由应用程序的用户更改。需要缓存来获得性能,但同时它增加了数据过时的可能性。静态资源也是如此。因此,如果您的应用程序处于高负载状态,并且您希望提高速度,那么您可能会牺牲最新数据以提高性能 不过请注意,客户端需要尊重缓存头。我们经常使用浏览器——他们已经解决了所有问题,但是如果我们的客户端是另一个服务,那么您需要确保它不会忽略标题。这不是免费的-需要编写代码才能实现 您的缓存也可以是公

我们应该只对静态内容使用http缓存吗


或者在API响应中,如果API中的数据不是静态的,是否可以使用缓存头?它可以由应用程序的用户更改。

需要缓存来获得性能,但同时它增加了数据过时的可能性。静态资源也是如此。因此,如果您的应用程序处于高负载状态,并且您希望提高速度,那么您可能会牺牲最新数据以提高性能

不过请注意,客户端需要尊重缓存头。我们经常使用浏览器——他们已经解决了所有问题,但是如果我们的客户端是另一个服务,那么您需要确保它不会忽略标题。这不是免费的-需要编写代码才能实现

您的缓存也可以是公共的或私有的。如果它是公共的(允许任何客户端查看内容),您可以在服务器和客户端之间配置一个反向代理(如nginx)。Nginx可以设置为缓存结果(它还可以理解缓存头)。因此,它可以通过不让请求通过而返回缓存副本来减轻应用程序的一些负载