Trailer ヘッダー
利用可能性は限定的
この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。
HTTP の Trailer リクエストヘッダー兼レスポンスヘッダーにより、メッセージ本体の送信中に動的に生成される可能性のあるメタデータ(メッセージの完全性チェック、デジタル署名、後処理のステータスなど)を提供するために、送信者がチャンク化されたメッセージの終わりに追加のフィールドを含めることが可能になります。
メモ:
トレーラーフィールドを許可するには、TE リクエストヘッダーを "trailer" に設定する必要があります。
警告:
開発者は、Fetch API や XHR を通じて HTTP トレーラーにアクセスすることはできません。
また、Server-Timing を除き、ブラウザーは HTTP トレーラーを無視します。
詳細については、ブラウザーの互換性を参照してください。
| ヘッダーの種類 | リクエストヘッダー、 レスポンスヘッダー、 コンテンツヘッダー |
|---|---|
| 禁止リクエストヘッダー | はい |
構文
http
Trailer: header-names
ディレクティブ
header-names-
チャンク化されたメッセージのトレーラー部分に存在する HTTP ヘッダーフィールド。 以下のヘッダーフィールドは許可されていません。
Content-Encoding,Content-Type,Content-Range,Trailer- 認証ヘッダー(
AuthorizationやSet-Cookieなど) - メッセージフレーミングヘッダー(
Transfer-EncodingやContent-Lengthなど) - ルーティングヘッダー(
Hostなど) - リクエスト修飾子(制御や条件、例えば
Cache-Control、Max-Forwards、TEなど)
例
>HTTP トレーラーとしての Server-Timing
一部のブラウザーでは、Server-Timing ヘッダーがトレーラーとして送信された場合、開発者ツールにサーバーのタイミングデータを表示させる機能を対応しています。
以下のレスポンスでは、Trailer ヘッダーを使用して、レスポンス本体の後に Server-Timing ヘッダーが続くことを示しています。
所要時間が 123.4 ミリ秒のメトリック custom-metric が送信されます。
http
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Trailer: Server-Timing
--- レスポンス本体 ---
Server-Timing: custom-metric;dur=123.4
仕様書
| 仕様書 |
|---|
| HTTP Semantics> # field.trailer> |
| HTTP/1.1> # chunked.trailer.section> |