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