If-Unmodified-Since

超文本传输协议 (HTTP) 的 **If-Unmodified-Since** 请求头使资源请求成为条件请求:只有在资源自此 HTTP 头指定的日期后未被修改的情况下,服务器才会发送请求的资源或在 POST 或其他非 安全 方法的情况下接受它。如果资源在指定日期后已被修改,则响应将是 412 Precondition Failed 错误。

**If-Unmodified-Since** HTTP 头通常用于以下情况

  • 结合非 安全 方法(如 POST),此标头可用于实现 乐观并发控制,就像某些维基所做的那样:如果存储的文档自最初检索以来已被修改,则拒绝编辑。
  • 结合使用 Range 头的范围请求,此标头可用于确保请求的新片段来自未修改的文档。
头类型 请求头
禁止的头名称

语法

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

指令

<day-name>

一周中某天的 3 个字母描述。可以是“Mon”、“Tue”、“Wed”、“Thu”、“Fri”、“Sat”或“Sun”(区分大小写)。

<day>

月份的两位数日期。例如:“04”、“23”。

<month>

月份的 3 个字母描述。可以是“Jan”、“Feb”、“Mar”、“Apr”、“May”、“Jun”、“Jul”、“Aug”、“Sep”、“Oct”、“Nov”、“Dec”(区分大小写)。

<year>

四位数年份。例如:“1990”、“2016”。

<hour>

基于 24 小时制的两位数小时数。例如:“09”、“23”。

<minute>

两位数分钟数。例如:“04”、“59”。

<second>

两位数秒数。例如:“04”、“59”。

GMT

格林威治标准时间。HTTP 日期始终以 GMT 表示,而非本地时间。

示例

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

规范

规范
HTTP 语义
# field.if-unmodified-since

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅