TE header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The HTTP TE request header specifies the transfer encodings the user agent is willing to accept. The transfer encodings are for message compression and chunking of data during transmission.

Transfer encodings are applied at the protocol layer, so an application consuming responses receives the body as if no encoding was applied.

Note: In HTTP/2 and HTTP/3, the TE header field is only accepted if the trailers value is set.

Header type Request header
Forbidden request header Yes

Syntax

http
TE: compress
TE: deflate
TE: gzip
TE: trailers

Multiple directives in a comma-separated list with quality values as weights:

http
TE: trailers, deflate;q=0.5

Directives

compress

A format using the Lempel-Ziv-Welch (LZW) algorithm is accepted as a transfer coding name.

deflate

Using the zlib structure is accepted as a transfer coding name.

gzip

A format using the Lempel-Ziv coding (LZ77), with a 32-bit CRC is accepted as a transfer coding name.

trailers

Indicates that the client will not discard trailer fields in a chunked transfer coding.

q

When multiple transfer codings are acceptable, the q parameter (quality values) syntax orders codings by preference.

Note that chunked is always supported by HTTP/1.1 recipients, so you don't need to specify it using the TE header. See the Transfer-Encoding header for more details.

Examples

Using the TE header with quality values

In the following request, the client indicates a preference for gzip-encoded responses with deflate as a second preference using a q value:

http
GET /resource HTTP/1.1
Host: example.com
TE: gzip; q=1.0, deflate; q=0.8

Specifications

Specification
HTTP Semantics
# field.te

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
TE
Chrome – Full support
Chrome 1 (Release date: 2008-12-11)
footnote Full support
Edge – Full support
Edge 12 (Release date: 2015-07-29)
footnote Full support
Firefox – Full support
Firefox 1 (Release date: 2004-11-09)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – Full support
Safari 1 (Release date: 2003-06-23)
footnote Full support
Chrome Android – Full support
Chrome Android 18 (Release date: 2012-06-27)
footnote Full support
Firefox for Android – Full support
Firefox for Android 4 (Release date: 2011-03-29)
footnote Full support
Opera Android – Full support
Opera Android 14 (Release date: 2013-05-21)
footnote Full support
Safari on iOS – Full support
Safari on iOS 1 (Release date: 2007-06-29)
footnote Full support
Samsung Internet – Full support
Samsung Internet 1 (Release date: 2013-04-27)
footnote Full support
WebView Android – Full support
WebView Android 4.4 (Release date: 2013-12-09)
footnote Full support
WebView on iOS – Full support
WebView on iOS 1 (Release date: 2007-06-29)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also