Save-Data
Save-Data 網路客戶端提示 請求頭欄位是一個布林值,指示客戶端對減少資料用量的偏好。這可能是由於傳輸成本高、連線速度慢等原因。
Save-Data 是一個 低熵提示,因此即使伺服器沒有使用 Accept-CH 響應頭請求,客戶端也可能會發送它。此外,它應該用於減少傳送到客戶端的資料,而不管指示網路能力的其他客戶端提示的值如何,例如 Downlink 和 RTT。
| 頭型別 | 請求頭,客戶端提示 |
|---|---|
| 禁止的頭名稱 | 否 |
| 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 的瀏覽器中載入。
另請參閱
- 幫助您的使用者
Save-Data- CSS Tricks - 使用 Save-Data 提供快速輕量級應用程式 - web.dev
Vary頭,指示服務的內容根據Save-Data的值而變化(請參閱 HTTP 快取 > Vary)- CSS @media 特性
prefers-reduced-data實驗性 - 使用使用者代理客戶端提示改進使用者隱私和開發人員體驗 (developer.chrome.com)
NetworkInformation.saveData