伺服器時序

基線 2023

新功能

2023年3月起,此功能在最新的裝置和瀏覽器版本中均可使用。此功能可能無法在舊裝置或瀏覽器中使用。

Server-Timing 標頭用於通訊一個或多個度量值和給定請求-響應迴圈的描述。它用於在使用者的瀏覽器中的開發人員工具或 PerformanceServerTiming 介面中顯示任何後端伺服器計時度量值(例如資料庫讀/寫、CPU 時間、檔案系統訪問等)。

標頭型別 響應標頭
禁止的標頭名稱

語法

Server-Timing 標頭的語法允許您以不同的方式通訊度量值:僅伺服器度量值名稱、帶值的度量值、帶值和描述的度量值以及帶描述的度量值。

此標頭可以包含一個或多個度量值,用逗號分隔。每個度量值都有一個名稱、可選的持續時間和可選的描述。這些元件用分號分隔。

持續時間元件由字串 "dur"、後跟 "=",然後是值組成,例如 "dur=23.2"。描述元件由字串 "desc"、後跟 "=",然後是值組成,例如 "desc=DB lookup"

規範建議名稱和描述應儘可能簡短(使用縮寫並省略可選值,只要可能),以最大限度地減少 HTTP 開銷。

http
// Single metric without value
Server-Timing: missedCache

// Single metric with value
Server-Timing: cpu;dur=2.4

// Single metric with description and value
Server-Timing: cache;desc="Cache Read";dur=23.2

// Two metrics with value
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 標頭可能會公開潛在的敏感應用程式和基礎設施資訊。請考慮在伺服器端控制何時以及向誰返回哪些度量值。例如,您可以在伺服器端僅向已驗證使用者顯示度量值,而不對公眾顯示任何內容。

效能ServerTiming 介面

除了讓 Server-Timing 標頭度量值顯示在瀏覽器的開發人員工具中外,PerformanceServerTiming 介面還使工具能夠自動從 JavaScript 收集和處理度量值。此介面僅限於同一來源,但您可以使用 Timing-Allow-Origin 標頭指定允許訪問伺服器度量值的域。此介面僅在某些瀏覽器中以安全上下文(HTTPS)提供。

Server-Timing 標頭的元件對映到 PerformanceServerTiming 屬性的方式如下

規範

規範
伺服器計時
# the-server-timing-header-field

瀏覽器相容性

BCD 表格僅在瀏覽器中載入

參見