gpt4 book ai didi

rest - RESTful API 上搜索资源的缓存控制策略

转载 作者:行者123 更新时间:2023-12-05 00:58:20 25 4
gpt4 key购买 nike

我正在创建一个 RESTful API(使用 MVC.NET)以允许外部访问业务系统。 API 包括一个搜索资源。该资源采用 URI 形式“/example/search/pages/1/?query=something”。

示例:要搜索比萨饼,您可以访问 URI“/example/search/pages/1/?query=pizza”,这将为您提供前 10 个结果。要获得结果的第二页,您将请求“/example/search/pages/2/?query=something”等。

我已使用缓存控制 HTTP header 启用 API 上所有资源的公共(public)缓存,目的是显着减少为 API 网络应用程序提供服务的服务器上的负载。

但是我不确定对搜索资源使用什么缓存策略。由于资源(及其 URI)因搜索内容而异,因此缓存页面似乎没有什么意义。人们为 RESTful API 上的搜索资源推荐什么缓存策略(即通过 cache-control HTTP header 进行缓存)?没有缓存?过期时间很短的私有(private)缓存?过期时间短的公共(public)缓存?

最佳答案

大多数代理不会缓存任何使用查询字符串的内容。

如果您想要缓存,我建议您使用 POST-Redirect-GET 模式为您的搜索请求制作新的 URI。

POST 搜索内容类型:application/x-www-form-urlencoded

术语=某物

303 查看其他位置:/search/something/1

这将更积极地启用缓存,但您必须制作这些 URI,并且仍会受到初始 POST 的影响。也就是说,如果是查询有问题,这将很好地解决问题。

关于rest - RESTful API 上搜索资源的缓存控制策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com