此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

If-Unmodified-Since 标头

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

HTTP 的 If-Unmodified-Since 请求标头使对资源的请求变为条件请求。服务器仅在请求头中指定的日期之后该资源未被修改的情况下,才会发送所请求的资源(或在 POST 等非安全方法中接受请求)。如果资源在指定日期之后已被修改,服务器将返回 412 Precondition Failed 错误响应。

If-Unmodified-Since 标头通常用于以下情况:

  • 当与 POST 等非安全方法结合使用时,此标头可用于实现乐观并发控制(例如某些 Wiki 系统的做法):如果自上次获取以来存储的文档已被修改,则会拒绝修订请求,从而避免冲突。
  • 当与 Range 标头一起用于范围请求时,该标头可确保新请求的内容片段来自未被修改的文档。
标头类型 请求标头
禁止修改的请求标头

语法

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

指令

<day-name>

MonTueWedThuFriSatSun 之一(区分大小写)。

<day>

两位数的日期数字,例如“04”或“23”。

<month>

JanFebMarAprMayJunJulAugSepOctNovDec 之一(区分大小写)。

<year>

四位数的年份,例如“1990”或“2016”。

<hour>

两位数的小时数,例如“09”或“23”。

<minute>

两位数的分钟数,例如“04”或“59”。

<second>

两位数的秒数,例如“04”或“59”。

GMT

格林威治标准时间。HTTP 日期总是以 GMT 表示,而不是本地时间。

示例

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

规范

Specification
HTTP Semantics
# field.if-unmodified-since

浏览器兼容性

参见