Save-Data

實驗性功能: 這是一個 實驗性技術
在生產環境中使用此功能前,請仔細檢視 瀏覽器相容性表格

Save-Data 網路客戶端提示 請求頭欄位是一個布林值,指示客戶端對減少資料用量的偏好。這可能是由於傳輸成本高、連線速度慢等原因。

Save-Data 是一個 低熵提示,因此即使伺服器沒有使用 Accept-CH 響應頭請求,客戶端也可能會發送它。此外,它應該用於減少傳送到客戶端的資料,而不管指示網路能力的其他客戶端提示的值如何,例如 DownlinkRTT

頭型別 請求頭客戶端提示
禁止的頭名稱
CORS 安全列表響應頭

值為 On 表示客戶端明確選擇加入減少資料使用模式,當傳達給源後,允許它們提供替代內容以減少下載的資料,例如較小的影像和影片資源、不同的標記和樣式、停用輪詢和自動更新等等。

注意:為了減少資料下載,可能也需要停用 HTTP/2 伺服器推送 (RFC 7540,第 8.2 節:伺服器推送)。

語法

http
Save-Data: <sd-token>

指令

<sd-token>

指示客戶端是否希望選擇加入減少資料使用模式的值。on 表示是,而 off(預設值)表示否。

示例

Vary 頭確保內容被正確快取(例如,確保當 Save-Data 頭不再存在時(例如,從蜂窩網路切換到 Wi-Fi 後),使用者不會從快取中獲取質量較低的影像)。

使用 Save-Data: on

請求

http
GET /image.jpg HTTP/1.1
Host: example.com
Save-Data: on

響應

http
HTTP/1.1 200 OK
Content-Length: 102832
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg

[…]

不使用 Save-Data

請求

http
GET /image.jpg HTTP/1.1
Host: example.com

響應

http
HTTP/1.1 200 OK
Content-Length: 481770
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg

[…]

規範

規範
Save Data API
# save-data-request-header-field

瀏覽器相容性

BCD 表格僅在啟用了 JavaScript 的瀏覽器中載入。

另請參閱