http - 使用 If-Match header 的正确行为?

标签 http http-headers

根据 RFC 2616 , HTTP 服务器生成实体标签是可选的。但是,我找不到有条件地兼容的 HTTP 服务器在接收到 If-Match(或 If-None-Match)时应该做什么) 标题。它应该忽略这些 header 还是应该响应 412 Precondition Failed

UPD:澄清一下,我假设有问题的服务器不支持实体标签。

最佳答案

与 If-None-Match header (忽略它只会损害性能)相反,如果服务器无法匹配请求的实体,IF-MATCH 请求几乎肯定会失败并返回 HTTP/412。 IF-MATCH header 最常见的用途可能是客户端正在执行范围请求时,除非服务器可以确认资源未被修改,否则不应返回请求的范围,因为结果可能是数据损坏客户。

现在,如果服务器知道它不是 Range 请求或者知道客户端实体实际上必须匹配(例如,因为服务器从不允许更新其实体),那么就好像 header 不存在一样在这种有限的情况下有意义。

关于http - 使用 If-Match header 的正确行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080718/

相关文章:

c# - 收藏已修改;枚举操作可能不会执行随机弹出 - HTTP?

angular - 在 Angular 的 http 订阅操作中使用 ngx-spinner

node.js - 在 http post 导致 : getaddrinfo EADDRINFO 后工作

http-headers - 二进制数据应该使用什么 Content-Type?

c - 如何使用 libcurl 解析 HTTP header ?

c# - 服务器无法在发送 HTTP header 后附加 header

php - Zoopla 沙箱出现 cURL http header 错误

xml - cURL - 在接收器上获取部分数据(400 错误请求)

javascript - 有谁知道有什么好的网络调试工具吗?

unicode - Flask-使用werkzeug处理unicode文本?