Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Http “无效”;次级资源“;当修补到资源时_Http_Caching_Rest - Fatal编程技术网

Http “无效”;次级资源“;当修补到资源时

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头或其他机制在补丁后使不同资源的任何缓存失效?该服务与数据的遗留系

我们有一个RESTful web服务,其URI模式如下:

  • /命令/
  • /订单/1
  • /订单/1/变更日志
我们正在使用适当的HATEOS从
/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一起破解一些东西。