If-Unmodified-Since 頭

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

HTTP If-Unmodified-Since 請求頭使對資源的請求變為有條件的。伺服器僅在伺服器上的資源自請求頭中的日期之後未被修改的情況下,才會傳送請求的資源(或在 POST 或其他非安全方法的情況下接受它)。如果資源在指定日期之後已被修改,響應將是 412 Precondition Failed 錯誤。

If-Unmodified-Since 頭通常用於以下情況:

  • 與非安全方法(如 POST)結合使用時,此頭可用於實現樂觀併發控制,某些維基百科就是這樣做的:如果儲存的文件自原始文件檢索以來已被修改,則拒絕修訂,從而避免衝突。
  • 與使用 Range 頭的範圍請求結合使用時,此頭可用於確保請求的新片段來自未修改的文件。
頭型別 請求頭
禁止請求頭

語法

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

規範

規範
HTTP 語義
# field.if-unmodified-since

瀏覽器相容性

另見