Save-Data header
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Tiêu đề HTTP Save-Data request header là một gợi ý máy khách về mạng cho biết sở thích của máy khách về việc giảm thiểu sử dụng dữ liệu.
Lý do có thể là chi phí truyền dữ liệu cao, tốc độ kết nối chậm, v.v.
Save-Data là một gợi ý entropy thấp, do đó có thể được máy khách gửi ngay cả khi máy chủ không yêu cầu thông qua tiêu đề phản hồi Accept-CH.
Ngoài ra, nó nên được dùng để giảm dữ liệu gửi đến máy khách bất kể các giá trị gợi ý khác cho biết khả năng mạng, như Downlink và RTT.
Giá trị On cho biết người dùng đã bật chế độ tiết kiệm dữ liệu trên máy khách.
Khi được thông báo đến các nguồn gốc, điều này cho phép họ cung cấp nội dung thay thế nhằm giảm dữ liệu tải xuống, chẳng hạn như hình ảnh và video có kích thước nhỏ hơn, đánh dấu và kiểu dáng khác, tắt tính năng polling và cập nhật tự động, v.v.
Note: Vô hiệu hóa HTTP/2 Server Push (RFC 7540, section 8.2: Server Push) có thể giảm tải dữ liệu. Lưu ý rằng tính năng này không còn được hỗ trợ theo mặc định trong hầu hết các trình duyệt chính.
| Loại tiêu đề | Request header, Client hint |
|---|---|
| Forbidden request header | Không |
| CORS-safelisted response header | Không |
Cú pháp
Save-Data: <sd-token>
Chỉ thị
<sd-token>-
Giá trị cho biết liệu máy khách có muốn bật chế độ tiết kiệm dữ liệu hay không.
onnghĩa là có, cònoff(mặc định) nghĩa là không.
Ví dụ
>Sử dụng Save-Data: on
Yêu cầu sau đây yêu cầu một tài nguyên với tiêu đề Save-Data cho biết máy khách đang bật chế độ tiết kiệm dữ liệu:
GET /image.jpg HTTP/1.1
Host: example.com
Save-Data: on
Máy chủ phản hồi với mã 200, và tiêu đề Vary cho biết rằng Save-Data có thể đã được sử dụng để tạo phản hồi, và các bộ nhớ đệm cần lưu ý tiêu đề này để phân biệt các phản hồi:
HTTP/1.1 200 OK
Content-Length: 102832
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg
[…]
Bỏ qua Save-Data
Trong trường hợp này, máy khách yêu cầu cùng tài nguyên mà không có tiêu đề Save-Data:
GET /image.jpg HTTP/1.1
Host: example.com
Phản hồi của máy chủ cung cấp phiên bản đầy đủ của nội dung.
Tiêu đề Vary đảm bảo rằng các phản hồi nên được lưu riêng biệt dựa trên giá trị của tiêu đề Save-Data.
Điều này đảm bảo rằng người dùng không nhận được hình ảnh chất lượng thấp hơn từ bộ nhớ đệm khi tiêu đề Save-Data không còn hiện diện (ví dụ: sau khi chuyển từ mạng di động sang Wi-Fi).
HTTP/1.1 200 OK
Content-Length: 481770
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg
[…]
Đặc tả
| Specification |
|---|
| Save Data API> # save-data-request-header-field> |
Tương thích trình duyệt
Xem thêm
- Tính năng CSS
@mediaprefers-reduced-dataExperimental - Tiêu đề
Varycho biết nội dung được phục vụ thay đổi tùy thuộc vào giá trị củaSave-Data(xem HTTP Caching: Vary) NetworkInformation.saveData- Help Your Users
Save-Datatrên css-tricks.com - Delivering Fast and Light Applications with Save-Data - web.dev trên web.dev
- Improving user privacy and developer experience with User-Agent Client Hints (developer.chrome.com)