首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新HTTP ETag

更新HTTP ETag
EN

Stack Overflow用户
提问于 2012-08-03 10:07:08
回答 1查看 880关注 0票数 3

根据文件的WebDav属性,我使用ETag将元数据放在服务器的文件和文件夹以及缓存中,以避免对服务器的不必要请求。

基本上,我发送一个头请求并检查ETag是否与本地的匹配。如果没有,那么我将发送一个更大、更慢的PROPFIND方法来检索其他属性。

我构建这个缓存的想法是,每次修改文件时都会更改ETag,包括修改、添加或删除元数据时。

然而,我最近发现情况并非如此:

因为如果ETag更改,客户端可能被迫提示用户或丢弃已更改的内容,因此WebDAV服务器不应更改具有未更改的主体和位置的资源的ETag (或最后修改的时间)。ETag表示资源的主体或内容的状态。没有类似的方法来判断属性是否改变了

(RFC 4918,http://www.webdav.org/specs/rfc4918.html#etag,重点雷)

由于每当属性更改时使缓存无效对我来说都很重要,所以我想知道:是否有一种手动指示web服务器更新ETag的方法?

EN

回答 1

Stack Overflow用户

发布于 2012-09-05 17:31:16

有几种不同的选择。如果etag是基于内容生成的(一个糟糕的想法),那么它就更难了。在我们的解决方案中,我们生成了一个不同的标记( ptag),当属性发生变化时我们会更新它,您可以使用PROPFIND查询它,然后在响应中作为X头返回它。如果etag是在PUT上随机生成的,那么您可以再次放置相同的数据,它将给您一个新的etag。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11793590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档