Server-Timing
Baseline 2023
Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Server-Timing
ヘッダーは、指定されたリクエスト-レスポンスのサイクルについての 1 つ以上のメトリックと説明を通信します。ユーザーのブラウザーの開発ツール内や、 PerformanceServerTiming
インターフェイス内で、任意のバックエンドサーバーのタイミングメトリック (データベースの読み書き、 CPU 時間、ファイルシステムアクセス、など) を表面化させるために使用します。
構文
Server-Timing
ヘッダーの構文では、さまざまな方法でメトリックを通信することができます。サーバーメトリック名のみ、メトリックと値、メトリックと値と説明、メトリックと説明などです。
仕様書では、 HTTP のオーバーヘッドを最小化するために、名前と説明を (略語を使用したり可能な限り値を省略したりして) できるだけ短くすることを推奨しています。
// 単一の値のないメトリック Server-Timing: missedCache // 単一のメトリックと値 Server-Timing: cpu;dur=2.4 // 単一のメトリックと説明と値 Server-Timing: cache;desc="Cache Read";dur=23.2 // 二つのメトリックと値 Server-Timing: db;dur=53, app;dur=47.2 // Server-Timing as trailer Trailer: Server-Timing --- response body --- Server-Timing: total;dur=123.4
プライバシーとセキュリティ
Server-Timing
ヘッダーは微妙なアプリケーションやインフラの情報を公開する可能性があります。どのメトリックが、いつ、サーバー側の誰に返されるかを制御することを検討してください。例えば、メトリックを認証されたユーザーのみに見せ、一般には見せないようにすることもできます。
PerformanceServerTiming インターフェイス
Server-Timing
ヘッダーのメトリックがブラウザーの開発者ツールに現れるのに加えて、 PerformanceServerTiming
インターフェイスでツールが JavaScript から自動的にメトリックを収集し処理することができます。このインターフェイスは同じオリジンに制約されていますが、 Timing-Allow-Origin
ヘッダーを使用することで、サーバーメトリックにアクセスすることができるドメインを指定することができます。このインターフェイスはブラウザーによっては、安全なコンテキスト (HTTPS) のみでしか利用できません。
仕様書
Specification |
---|
Server Timing # the-server-timing-header-field |
ブラウザーの対応
BCD tables only load in the browser