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 的浏览器中加载。

另请参阅