If-Modified-Since

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTTP の If-Modified-Since リクエストヘッダーは、リクエストを条件付にします。サーバーは最後にリソースが変更された時刻が、リクエストにより与えられた時刻より後の場合にのみ、リクエストされたリソースを 200 ステータスと共に返却します。もしリクエストにより与えられた時刻以降にリソースが変更されていなければ、レスポンスは本文を持たない 304 になります。前回のリクエストの Last-Modified レスポンスヘッダーは、最後にリソースが変更された時刻を含みます。 If-Unmodified-Since とは異なり、 If-Modified-SinceGET もしくは HEAD でのみ使用できます。

本ヘッダーは If-None-Match との組み合わせで使用された場合、サーバーが If-None-Match に対応していない場合を除き無視されます。

最も一般的な使用方法は ETag に関連付けられていない、キャッシュされたリソースを更新するために用いることです。

ヘッダー種別 リクエストヘッダー
禁止ヘッダー名 いいえ

構文

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

ディレクティブ

<day-name>

"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" の中から一つ (大文字・小文字の区別あり)

<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 における時刻は常にグリニッジ標準時で表され、ローカル時刻になることはありません。

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

仕様書

仕様書 題名
RFC 7232, セクション 3.3: If-Modified-Since Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests

ブラウザーの対応

BCD tables only load in the browser

関連情報