ECT
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.
The HTTP ECT
request header is used in Client Hints to indicate the effective connection type: slow-2g
, 2g
, 3g
, or 4g
.
The value represents the "network profile" that best matches the connection's latency and bandwidth, rather than the actual mechanisms used for transferring the data.
For example, 2g
might be used to represent a slow Wi-Fi connection with high latency and low bandwidth, while 4g
might represent a fast fibre-based broadband network.
The hint allows a server to choose what information is sent based on the broad characteristics of the network. For example, a server might choose to send smaller versions of images and other resources on less capable connections. The value might also be used as a starting point for determining what information is sent, which is further refined using information in RTT
and Downlink
hints.
Note:
A server that specifies ECT
in Accept-CH
may also specify it in Vary
to indicate that responses should be cached for different ECT values.
Header type | Request header, Client hint |
---|---|
Forbidden header name | No |
Syntax
ECT: <value>
Directives
<value>
-
A value indicating effective connection type. Can be one of:
slow-2g
,2g
,3g
, or4g
.
Examples
A server first needs to opt in to receive the ECT
header by sending the Accept-CH
response header containing ECT
.
Accept-CH: ECT
Then on subsequent requests the client might send an ECT
header back:
ECT: 2g
Specifications
Specification |
---|
Network Information API # ect-request-header-field |
Browser compatibility
BCD tables only load in the browser
See also
-
Improving user privacy and developer experience with User-Agent Client Hints (developer.chrome.com)
-
Network client hints
Accept-CH
NetworkInformation.effectiveType