HTTP の If-Unmodified-Since リクエストヘッダーは、リクエストを条件付きにします。サーバーはリソースが指定された日時以降に変更されていない場合のみ、要求されたリソースを返信したり、 POST などの安全ではないメソッドをの場合はそれを受け付けたりします。リソースが指定された日時以降に変更されていた場合は、レスポンスは412 (Precondition Failed) エラーになります。

一般的な使用例は2つあります。

  • POST のような安全ではないメソッドとの組み合わせで、一部のウィキで行われているような楽観的並行性制御を実装するために利用することができます。この場合、元の文書を受け取った後で、保存されている文書が変更されていると、編集が拒否されます。
  • If-Range ヘッダー付きの範囲付きリクエストとの組み合わせで、断片をリクエストする際に文書が変更されていないことを確認するために使用することができます。
ヘッダー種別 リクエストヘッダー
禁止ヘッダー名 いいえ

構文

If-Unmodified-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-Unmodified-Since: Wed, 21 Oct 2015 07:28:00 GMT 

仕様書

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

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応
実験的非推奨非標準
Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 ありIE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, silverskyvicto
最終更新者: mfuji09,