当前位置:  开发笔记 > 后端 > 正文

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

如何解决《RESTfulAPI上搜索资源的缓存控制策略》经验,为你挑选了1个好方法。

我正在创建一个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标头来启用API上所有资源的公共缓存,目的是显着减少服务于API Web应用程序的服务器的负载.

但是,我不确定要用于搜索资源的缓存策略.由于资源(及其URI)根据您搜索的内容而有所不同,因此缓存页面似乎没什么意义.什么缓存策略(即通过缓存控制HTTP头缓存)人们推荐用于RESTful API上的搜索资源?没有缓存?私有缓存的到期时间非常短?短期到期的公共缓存?



1> SerialSeb..:

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

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

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

长期=东西

303见其他位置:/ search/something/1

这将使缓存更加激进,但您必须制作这些URI,并且仍然会受到初始POST的影响.也就是说,如果这是有问题的查询,这将很好地解决问题.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有