Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
PerformanceServerTiming
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2023.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans descontextes sécurisés (HTTPS), pour certainsnavigateurs qui la prennent en charge.
L'interfacePerformanceServerTiming présente des métriques de serveur qui sont envoyées avec la réponse dans l'en-têteServer-Timing dans l'en-tête HTTP.
Cette interface est limitée à la même origine, mais vous pouvez utiliser l'en-têteTiming-Allow-Origin pour spécifier les domaines qui sont autorisés à accéder aux paramètres du serveur. Notez que cette interface n'est disponible que dans des contextes sécurisés (HTTPS) dans certains navigateurs.
Note : Cette fonctionnalité est disponible via lesWeb Workers.
Dans cet article
Propriétés
PerformanceServerTiming.descriptionLecture seuleUne chaîne de caractères
DOMStringdécrivant la métrique spécifiée par le serveur, ou une chaîne vide.PerformanceServerTiming.durationLecture seuleUn double qui contient la durée de la métrique spécifiée par le serveur, ou la valeur
0.0.PerformanceServerTiming.nameLecture seuleUne chaîne de caractères
DOMStringavec le nom de la métrique spécifiée par le serveur.
Méthodes
PerformanceServerTiming.toJSON()Retourne une chaîne de caractères
DOMStringqui est la représentation JSON de l'objetPerformanceServerTiming.
Exemple
Étant donné un serveur qui envoie l'en-têteServer-Timing, par exemple un serveur node.js comme celui-ci :
const http = require("http");function requestHandler(request, response) { const headers = { "Server-Timing": ` cache;desc="Cache Read";dur=23.2, db;dur=53, app;dur=47.2 `.replace(/\n/g, ""), }; response.writeHead(200, headers); response.write(""); return setTimeout((_) => { response.end(); }, 1000);}http.createServer(requestHandler).listen(3000).on("error", console.error);Les entréesPerformanceServerTiming sont désormais observables depuis JavaScript via la propriétéPerformanceResourceTiming.serverTiming :
let entries = performance.getEntriesByType("resource");console.log(entries[0].serverTiming);// 0: PerformanceServerTiming {name: "cache", duration: 23.2, description: "Cache Read"}// 1: PerformanceServerTiming {name: "db", duration: 53, description: ""}// 2: PerformanceServerTiming {name: "app", duration: 47.2, description: ""}Spécifications
| Specification |
|---|
| Server Timing> # the-performanceservertiming-interface> |