Save-Data 頭
HTTP Save-Data 請求頭是一種網路客戶端提示,它表示客戶端對減少資料使用的偏好。這可能是由於高傳輸成本、慢連線速度等原因。
Save-Data 是一種低熵提示,因此即使伺服器未使用 Accept-CH 響應頭請求,客戶端也可能傳送它。此外,它應該用於減少傳送到客戶端的資料,而不考慮指示網路能力的其他客戶端提示的值,例如 Downlink 和 RTT。
值 On 表示使用者在客戶端明確選擇加入減少資料使用模式。當傳達給源時,這允許它們提供替代內容以減少下載的資料,例如更小的影像和影片資源、不同的標記和樣式、停用輪詢和自動更新等。
注意:停用 HTTP/2 伺服器推送 (RFC 7540,第 8.2 節:伺服器推送) 可能會減少資料下載。請注意,此功能在大多數主要瀏覽器引擎中不再預設支援。
| 頭型別 | 請求標頭,客戶端提示 |
|---|---|
| 禁止請求頭 | 否 |
| CORS-safelisted 響應頭 | 否 |
語法
http
Save-Data: <sd-token>
指令
<sd-token>-
一個值,表示客戶端是否希望選擇加入減少資料使用模式。
on表示是,而off(預設值)表示否。
示例
使用 Save-Data: on
以下訊息請求一個資源,其中 Save-Data 頭指示客戶端正在選擇進入減少資料模式
http
GET /image.jpg HTTP/1.1
Host: example.com
Save-Data: on
伺服器響應 200 響應,並且 Vary 頭指示 Save-Data 可能已用於建立響應,並且快取應該知道此頭以區分響應
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
在這種情況下,客戶端在沒有 Save-Data 頭的情況下請求相同的資源
http
GET /image.jpg HTTP/1.1
Host: example.com
伺服器的響應提供了內容的完整版本。Vary 頭確保響應應根據 Save-Data 頭的值單獨快取。這可以確保當 Save-Data 頭不再存在時(例如,從蜂窩網路切換到 Wi-Fi 後),使用者不會從快取中獲得質量較低的影像。
http
HTTP/1.1 200 OK
Content-Length: 481770
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg
[…]
規範
| 規範 |
|---|
| 儲存資料 API # save-data-request-header-field |
瀏覽器相容性
載入中…
另見
- CSS
@media特性prefers-reduced-data實驗性 Vary頭,指示所提供的內容根據Save-Data的值而變化(參見 HTTP 快取:Vary)NetworkInformation.saveData- 在 css-tricks.com 上幫助使用者
Save-Data - 在 web.dev 上使用 Save-Data 提供快速輕量級應用程式 - web.dev
- 透過使用者代理客戶端提示改善使用者隱私和開發者體驗 (developer.chrome.com)