If-Unmodified-Since - HTTP 编辑

HTTP协议中的 If-Unmodified-Since 消息头用于请求之中,使得当前请求成为条件式请求:只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受 POST 或其他 non-safe 方法的请求。如果所请求的资源在指定的时间之后发生了修改,那么会返回 412 (Precondition Failed) 错误。

常见的应用场景有两种:

  • 与 non-safe 方法如 POST 搭配使用,可以用来优化并发控制,例如在某些wiki应用中的做法:假如在原始副本获取之后,服务器上所存储的文档已经被修改,那么对其作出的编辑会被拒绝提交。
  • 与含有 If-Range 消息头的范围请求搭配使用,用来确保新的请求片段来自于未经修改的文档。
Header typeRequest header
Forbidden header nameno

语法

If-Unmodified-Since: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

指令

<day-name>
 "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" 或 "Sun" 之一 (区分大小写)。
<day>
两位数字表示的天数, 例如"04" or "23"。
<month>
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" 之一(区分大小写)。
<year>
4位数字表示的年份, 例如 "1990" 或者"2016"。
<hour>
两位数字表示的小时数, 例如 "09" 或者 "23"。
<minute>
两位数字表示的分钟数,例如"04" 或者 "59"。
<second>
两位数字表示的秒数,例如 "04" 或者 "59"。
GMT

国际标准时间。HTTP中的时间均用国际标准时间表示,从来不使用当地时间。

示例

If-Unmodified-Since: Wed, 21 Oct 2015 07:28:00 GMT

规范

SpecificationTitle
RFC 7232, section 3.4: If-Unmodified-SinceHypertext Transfer Protocol (HTTP/1.1): Conditional Requests

浏览器兼容性

BCD tables only load in the browser

相关内容

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:85 次

字数:5407

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文