If-Modified-Since 头

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

HTTP If-Modified-Since 请求头使请求变为有条件的。服务器仅在资源在 If-Modified-Since 头中的日期之后被修改过,才会返回所请求的资源,并附带 200 状态。如果资源在此之后未被修改,则响应为 304,不带任何正文,并且前一个请求的 Last-Modified 响应头包含最后修改的日期。

If-Unmodified-Since 不同,If-Modified-Since 只能与 GETHEAD 一起使用。当与 If-None-Match 结合使用时,它会被忽略,除非服务器不支持 If-None-Match

最常见的用例是更新没有关联 ETag 的缓存实体。

头类型 请求头
禁止请求头

语法

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

指令

<day-name>

Mon, Tue, Wed, Thu, Fri, SatSun 之一(区分大小写)。

<day>

2 位数字的日期,例如 "04" 或 "23"。必填。

<month>

Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec 之一(区分大小写)。

<year>

4 位数字的年份,例如 "1990" 或 "2016"。

<hour>

2 位数字的小时,例如 "09" 或 "23"。

<minute>

2 位数字的分钟,例如 "04" 或 "59"。

<second>

2 位数字的秒,例如 "04" 或 "59"。

GMT

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

示例

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

规范

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

浏览器兼容性

另见