推荐答案
-- -------------------- ---- ------- -- ------- ------------- - ------------------------ ----------- ---------------- -- ------ ----------- --- -- ------ ------ -- ----- ------- - ------------------------------------------- ----- ------------ - ------------------------ -- ----- ------ ------ -- -------------------------- -- - --------------------------- ---------------------- ---
本题详细解读
什么是 Server Timing API?
Server Timing API 是一种允许服务器将性能指标传递给客户端的机制。通过 HTTP 响应头 Server-Timing
,服务器可以将各种操作的耗时信息发送给客户端,客户端可以通过 Performance API 获取这些信息并进行分析。
如何使用 Server Timing API?
服务器端设置:
- 在服务器端,通过设置 HTTP 响应头
Server-Timing
来传递性能指标。每个指标由名称和持续时间组成,格式为name;dur=value
,多个指标之间用逗号分隔。 - 例如:
res.set('Server-Timing', 'db;dur=53, cache;dur=1.2');
表示数据库查询耗时 53 毫秒,缓存查询耗时 1.2 毫秒。
- 在服务器端,通过设置 HTTP 响应头
客户端获取:
- 在客户端,可以通过
performance.getEntriesByType('navigation')
获取页面导航的性能条目。 - 每个导航条目包含一个
serverTiming
属性,它是一个数组,包含了服务器传递的所有性能指标。
- 在客户端,可以通过
遍历并输出:
- 通过遍历
serverTiming
数组,可以获取每个性能指标的名称和持续时间,并将其输出到控制台或进行进一步的分析。
- 通过遍历
示例代码
-- -------------------- ---- ------- -- ------- ------------- - ------------------------ ----------- ---------------- -- ------ ----------- --- -- ------ ------ -- ----- ------- - ------------------------------------------- ----- ------------ - ------------------------ -- ----- ------ ------ -- -------------------------- -- - --------------------------- ---------------------- ---
注意事项
Server-Timing
头的内容不应包含敏感信息,因为它会暴露给客户端。- 该 API 主要用于开发和调试阶段,帮助开发者了解服务器端性能瓶颈。
- 并非所有浏览器都支持 Server Timing API,使用时需注意兼容性。