如果-比赛
服务器必须返回一个412(预处理失败)响应,如果:
- 没有实体标签匹配,
- 或 “*”,并给出没有电流实体存在
的if-match应该被忽略,如果:
- 任何实体标签的匹配
- 或者如果请求引起了一个2xx或412状态的其它任何东西(没有如果匹配)
- 或者“*”,并给出任何当前实体存在的资源
在
结论是否匹配:
- 的意思是“如果 - 匹配:*”是,如果原始服务器选择的表示......存在应执行的方法,和一定不要执行该表示不存在。
If-Match in RFC2616
如果未改性的-由于
服务器必须返回一个412(前提条件失败)响应中,如果:
如果未修饰的,因为应该被忽略,如果
- 所请求的资源还没有被因为在该字段中指定
- 或请求通常(即,没有如果未改性-Since头)被修改的时间会导致比一个2xx或412状态的任何其他
- 或指定的日期无效
If-Unmodified-Since in RFC2616
如果-范围
通俗地说,它的意思是“如果实体不变,送我,我缺少的部分(S);否则,给我整个新实体”
前提条件:
- 的
If-Range
头SHOULD只能用Range
头一起使用,如果请求确实MUST被忽略不包括 a Range
标头,或者如果服务器不支持子范围op关合作。
如果If-Range
标头匹配实体的当前实体标签,服务器应该提供206(部分内容)响应。否则,服务器应当返回使用200(OK)响应整个实体。
If-Range in RFC2616
不确定的结果
有头的下面结合将导致未定义的结果:
- 如果-Modified-Since的和的if-match
- 的If-Modified - 自和如果 - 未修改 - 自从
- 如果无 - 匹配和的if-match
- 如果 - 无 - 匹配和如果未修饰的,由于
这些规则已经从下面的那些分解(可在RFC2616找到) :
- 如果-匹配和(如果-无 - 匹配或如果-Modified-Since的)
- 如果-Modifi ED-由于和(如果 - 匹配或如果未改性的-由于)
- 如果-无 - 匹配和(如果 - 匹配或如果未改性的-由于)
- 如果-Unmodified-由于和(如果 - 无 - 匹配或如果-Modified-Since的)
有情况如果-匹配,如果未改性-Since或If-范围可以触发一个HTTP 304 “未修改”回答? – AlexV 2010-01-28 20:22:42
不,它只允许使用'If-None-Match'和'If-Modified-Since'。 http://en.wikipedia.org/wiki/List_of_HTTP_headers – 2010-01-28 20:34:55
太棒了,再次感谢您的光临! – AlexV 2010-01-28 21:00:21