Downlink header
{{SeeCompatTable}}
The HTTP Downlink {{Glossary("request header")}}header is used in Client Hints to provide the approximate bandwidth in Mbps of the client's connection to the server.
The hint allows a server to choose what information is sent based on the network bandwidth. For example, a server might choose to send smaller versions of images and other resources on low bandwidth networks.
[!NOTE]NOTE: The{{HTTPHeader("Vary")}}Vary header is used in responses to indicate that a different resource is sent for every different value of the header (see HTTP Caching Vary). Even ifDownlinkis used to configure what resources are sent, consider omitting it in the{{HTTPHeader("Vary")}}Vary header — it is likely to change often, which effectively makes the resource uncacheable.
| Header type |
|
|---|---|
| No |
Syntax
Downlink: <number>
Directives
<number>- : The downlink rate in Mbps, rounded to the nearest 25 kilobits.
The downlink rate may be used as a
{{glossary("fingerprinting")}}fingerprinting variable, so values for the header are intentionally coarse to reduce the potential for its misuse.
- : The downlink rate in Mbps, rounded to the nearest 25 kilobits.
The downlink rate may be used as a
Examples
A server first needs to opt in to receive the Downlink header by sending the {{HTTPHeader("Accept-CH")}}CH response header containing Downlink.
Accept-CH: Downlink
Then on subsequent requests the client might send a Downlink header back:
Downlink: 1.7
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Improving user privacy and developer experience with User-Agent Client Hints (developer.chrome.com)
- Network client hints
{{HTTPHeader("RTT")}}RTT{{HTTPHeader("ECT")}}ECT{{HTTPHeader("Save-Data")}}Data
{{HTTPHeader("Accept-CH")}}CH- HTTP Caching: Vary and
{{HTTPHeader("Vary")}}Vary {{domxref("NetworkInformation.effectiveType")}}effectiveType