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

http
ECT: <value>

Directives

<value>

A value indicating effective connection type. Can be one of: slow-2g, 2g, 3g, or 4g.

Examples

A server first needs to opt in to receive the ECT header by sending the Accept-CH response header containing ECT.

http
Accept-CH: ECT

Then on subsequent requests the client might send an ECT header back:

http
ECT: 2g

Specifications

Specification
Network Information API
# ect-request-header-field

Browser compatibility

BCD tables only load in the browser

See also