Http “无效”;次级资源“;当修补到资源时
我们有一个RESTful web服务,其URI模式如下:Http “无效”;次级资源“;当修补到资源时,http,caching,rest,Http,Caching,Rest,我们有一个RESTful web服务,其URI模式如下: /命令/ /订单/1 /订单/1/变更日志 我们正在使用适当的HATEOS从/orders/1资源链接到其位于/orders/1/changelog的变更日志。当我们对/orders/1资源进行更改时,我们会通过向该资源发送补丁请求来进行更改 修补程序将使/orders/1的任何缓存无效,但/orders/1/changelog资源的情况并非如此 有没有办法通过HTTP头或其他机制在补丁后使不同资源的任何缓存失效?该服务与数据的遗留系
- /命令/
- /订单/1
- /订单/1/变更日志
/orders/1
资源链接到其位于/orders/1/changelog
的变更日志。当我们对/orders/1
资源进行更改时,我们会通过向该资源发送补丁请求来进行更改
修补程序将使/orders/1
的任何缓存无效,但/orders/1/changelog
资源的情况并非如此
有没有办法通过HTTP头或其他机制在补丁后使不同资源的任何缓存失效?该服务与数据的遗留系统集成,因此没有简单的方法使用ETag或进行修改,因为让服务检查资源是否无效实际上是不可行的,所以我希望让响应头为我执行缓存失效
我是不是完全错了?其他选项?本规范讨论了如何使用链接头完成此操作。这与我们需要的完全相同。我看到Squid似乎支持LCI,但我没有看到任何关于本地支持它的HttpWebRequest的信息。。。有什么见解吗?@Pete Nah,WinINetProxy不太可能支持它,因为它是一个非常新的RFC。但是,如果您使用了新的HttpClient,则可以创建一个MessageHandler,根据头清除缓存。我已经编写了一些与WinINetProxy缓存交互的代码,这并不太痛苦。遗憾的是,我们被困在了.NET3.5上。我得看看能不能和WinINet一起破解一些东西。