http header
Trailer header
The HTTP Trailer request and response header allows the sender to include additional fields at the end of chunked messages in order to supply metadata that might be dynamically generated while the message body is sent.
[!NOTE] The
TErequest header needs to be set totrailersto allow trailer fields.
[!WARNING] Developers cannot access HTTP trailers via the Fetch API or XHR. Additionally, browsers ignore HTTP trailers, with the exception of
Server-Timing. See Browser compatibility for more information.
| Header type | [Request header](https://developer.mozilla.org/en-US/docs/Glossary/Request%20header), [Response header](https://developer.mozilla.org/en-US/docs/Glossary/Response%20header), [Content header](https://developer.mozilla.org/en-US/docs/Glossary/Content%20header) |
|---|---|
| [Forbidden request header](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden%20request%20header) | Yes |
Syntax
Trailer: header-names
Directives
header-names- : HTTP header fields which will be present in the trailer part of chunked messages.
The following header names are disallowed:
Content-Encoding,Content-Type,Content-Range, andTrailer- Authentication headers (e.g.,
AuthorizationorSet-Cookie) - Message framing headers (e.g.,
Transfer-EncodingandContent-Length) - Routing headers (e.g.,
Host) - Request modifiers (e.g., controls and conditionals, like
Cache-Control,Max-Forwards, orTE)
- : HTTP header fields which will be present in the trailer part of chunked messages.
The following header names are disallowed:
Examples
Server-Timing as HTTP trailer
Some browsers support showing server timing data in developer tools when the Server-Timing header is sent as a trailer.
In the following response, the Trailer header is used to indicate that a Server-Timing header will follow the response body.
A metric custom-metric with a duration of 123.4 milliseconds is sent:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Trailer: Server-Timing
--- response body ---
Server-Timing: custom-metric;dur=123.4