If-Range 標頭

Baseline 已廣泛支援

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

HTTP If-Range 請求標頭使範圍請求有條件。如果條件滿足,則發出範圍請求,伺服器會返回一個 206 Partial Content 響應,其中包含資源的一部分(或多部分)。如果條件不滿足,則返回完整的資源,狀態為 200 OK

此標頭可以與 Last-Modified 驗證器一起使用,也可以與 ETag 一起使用,但不能同時使用兩者。

最常見的用例是恢復下載,同時確保自客戶端收到最後一部分以來伺服器上的資源未被修改。

頭型別 請求頭
禁止請求頭

語法

http
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
If-Range: <etag>

指令

<etag>

唯一標識所請求資源的實體標籤。它是由雙引號括起來的 ASCII 字元字串(例如 "675af34563dc-tr34")。弱實體標籤(帶有 W/ 字首的標籤)不得在此標頭中使用。

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

If-Range: "67ab43"

規範

規範
HTTP 語義
# field.if-range

瀏覽器相容性

另見