Temps to Premier Byte (TTFB)

Ce que TTFB mesure, pourquoi il n’est pas a Core Web Vital, comment il caps votre LCP et FCP, ce que counts as bon, et Comment corriger a lent serveur réponse.

Première publication : 26 juin 2026 · Dernière mise à jour : 3 août 2026 · Avancé

Temps à Premier Byte est le temps depuis le commencer de une requête à quand le premier byte de la réponse arrives — le sum de redirection temps, service worker startup, DNS lookup, connection et TLS negotiation, et la requête itself. Il n’est pas a Core Web Vital; c’est a diagnostic, foundational metric et a major entrée à FCP et LCP. web.dev dit aim pour ≤0,8 s (bon) et treats >1,8 s as poor. c’est les deux a champ et lab metric. Lighthouse's 'Reduce serveur réponse times' audit est narrower — il flags serveur temps over ~600 ms, pas complet TTFB, et as de Lighthouse 13 lives à l’intérieur le 'Document requête latency' insight. Corriger il avec a CDN, edge/HTML mise en cache, faster hosting, fewer redirections, Early Hints, et efficient TLS. Et remember: a élevé TTFB ne fait pas toujours signifier a lent site.

TL;DR — TTFB est le temps depuis le commencer de la requête à quand le premier byte de la réponse arrives — le sum de redirection temps, service worker startup, DNS lookup, connection + TLS negotiation, et la requête itself, up à que premier byte. Il est pas a Core Web Vital; c’est a foundational, diagnostic metric que feeds FCP et LCP. web.dev: bon est ≤0,8 s, poor est >1,8 s (75th percentile). c’est les deux a champ et a lab metric. Lighthouse’s “Reduce server response times” audit est narrower — il flags serveur temps over ~600 ms, pas complet TTFB, et as de Lighthouse 13 il lives à l’intérieur le “Document request latency” insight. Corriger il avec a CDN, edge/HTML mise en cache, faster hosting, fewer redirections, 103 Early Hints, et efficient TLS. Et a élevé TTFB ne fait pas toujours signifier a lent site.

Ce que TTFB en réalité measures

TTFB mesure le temps entre starting à navigate à une page et quand le premier byte de la réponse begins à arrive. Le chose personnes obtenir incorrect est treating il as pure backend processing temps. Il n’est pas. c’est le sum de tout que a à finish avant que premier byte peut come back:

  1. Redirection temps
  2. Service worker startup temps (si un s’applique)
  3. DNS lookup
  4. Connection et TLS negotiation
  5. La requête — up jusqu’à le point le premier byte de la réponse a arrived

Serveur processing est dans là, mais donc est le entier connection-setup tax. Que distinction matters le moment vous commencer reading outils, parce que ils ne pas tout mesurer le même slice (plus on que ci-dessous).

Preuve à l’appui de cette affirmation TTFB measures from request start until the first response byte and includes redirect, connection setup, and server-response time. Portée : Current web.dev navigation TTFB definition. Niveau de confiance : élevé · Vérifié : web.dev: Time to First Byte

It n’est pas a Core Web Vital

«I’ll say it plainly because it’s the single most common misconception: TTFB is not a Core Web Vital. The three Core Web Vitals are LCP (loading), INP (interactivity), and CLS (visual stability). TTFB is a foundational, diagnostic metric — Google’s own framing is that it’s “a foundational metric for measuring connection setup time and web server responsiveness in both the lab and the field.” » (Traduction) (Résumé en français de la section vingt-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Google est aussi explicit que vous ne pas strictly ont à hit le bon TTFB threshold: parce que il n’est pas a Core Web Vital, c’est “pas absolutely necessary que sites meet le ‘bon’ TTFB threshold, provided que il ne fait pas impede leur ability à score bien on le metrics que matter.” Que dernier clause est le catch — pour la plupart sites a mauvais TTFB absolutely fait impede le metrics que matter.

Comment il caps FCP et LCP

TTFB precedes chaque utilisateur-centric chargement metric. Les deux Premier affichage de contenu et Plus grand affichage de contenu inclure TTFB dans leur measurement — le clock pour ceux metrics est déjà running pendant que vous wait pour le premier byte. web.dev breaks LCP dans sub-parties et TTFB est le premier de les, qui est pourquoi vous pouvez’t ont a rapide LCP sitting on top de a lent TTFB.

Ce est aussi où le real-world données obtient pointed. Le HTTP Archive’s Web Almanac trouvé que on sites avec poor LCP, TTFB alone était eating roughly 2,27 seconds — nearly le entier 2,5-deuxième “bon LCP” budget — avant quelconque image or texte même commencé à rendre. Si votre LCP est mauvais et votre sur la page contenu semble optimized, TTFB est le premier placer je voudrais regarder.

Donc le classement story est indirect mais réel: TTFB n’est pas a Google classement signal (le classement signaux sont LCP, INP, et CLS — TTFB n’est pas named dans que définir). Mais c’est baked dans LCP, qui est a classement signal. Le chemin exécute via LCP, pas via TTFB directement.

Thresholds: bon, nécessite improvement, poor

web.dev’s guidance, mesuré at the 75th percentile of real-user loads:

  • Bon: ≤ 0,8 s
  • Poor: > 1,8 s
Preuve à l’appui de cette affirmation web.dev recommends a TTFB of 0.8 seconds or less; above 1.8 seconds is poor at the 75th percentile. Portée : Current web.dev TTFB guidance; TTFB is diagnostic, not a Core Web Vital. Niveau de confiance : élevé · Vérifié : web.dev: Time to First Byte

“Most sites should strive to have a TTFB of 0.8 seconds or less.” Worth knowing le history: Google déplacé le “bon” line depuis 500 ms à 800 ms back dans 2022, et older données était recalculated sous le nouveau standard — donc ne pas comparer raw historical TTFB numbers sans checking qui threshold ils utilisé.

Le 600 ms vs 800 ms confusion

Ce trips up a lot of personnes, so it’s worth being precise. Là are two différent numbers floating autour:

  • CrUX / web.dev TTFB threshold: 800 ms. Ce est le champ threshold pour complet TTFB (DNS + connection + TLS + redirections + serveur temps).
  • Lighthouse “Reduce server response times” audit: ~600 ms. Ce est a lab audit que flags quand le navigateur waits plus que à propos de 600 ms pour le serveur à respond à le principal document requête. Crucially, il mesure serveur réponse temps seulement — il ne fait pas inclure DNS, connection setup, or TLS.

Donc le Lighthouse number semble stricter, mais c’est measuring a narrower slice. As le docs put il, “serveur réponse temps est seulement partie de le complet Temps à Premier Byte (TTFB).” ne pas treat a passing Lighthouse audit as proof de a bon champ TTFB, et ne pas panic que 600 < 800 signifie le thresholds contradict chaque autre — ils mesurer différent choses.

Un version remarque: as de Lighthouse 13, ce audit ne … plus stands alone — c’est été folded dans le broader “Document request latency” insight. Le underlying ~600 ms serveur-réponse vérifier est le même; c’est simplement surfaced differently depending on qui Lighthouse version generated votre rapport.

Field and lab — les deux

«TTFB is one of the metrics you can read in both worlds. In the field, it comes from CrUX (real Chrome users), surfaced in PageSpeed Insights and Search Console. In the lab, Chrome DevTools labels it “Waiting (TTFB)” in the Network panel waterfall (“the browser is waiting for the first byte of a response”), and tools like WebPageTest and Lighthouse report it too. One field caveat: in CrUX, TTFB is still treated as somewhat experimental — it excludes some advanced navigation types like prerendered and back/forward-cache navigations, so field averages can read a touch pessimistic relative to what users actually feel. » (Traduction) (Résumé en français de la section trente-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

A élevé TTFB doesn’t toujours mean a slow site

«Here’s the nuance that the threshold numbers hide. A server-rendered page can post a higher TTFB than a client-rendered one and still deliver better FCP and LCP — because when that first byte finally arrives, it’s complete HTML the browser can paint immediately, rather than a thin shell that then has to fetch and run a JavaScript bundle before anything appears. Google says it directly: “a server-rendered site that does not require as much client-side work could have a higher TTFB, but better FCP and LCP values than an entirely client-rendered experience.” » (Traduction) (Résumé en français de la section quarante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Le flip side: pour a client-rendu unique-page app, TTFB determines quand le JavaScript bundle même commence chargement, donc a faible TTFB matters plus là, pas moins. ne pas optimize TTFB dans a vacuum — optimize le entier chargement chain, et judge TTFB par ce que il fait à FCP et LCP.

How to améliorer TTFB

Roughly in priority order:

  • Commencer avec hosting. A lent backend or database requête est a tax on chaque unique requête, et aucun amount de front-end fonctionner supprime il. Ce est le premier chose à considérer.
  • Utiliser a CDN. A CDN solves le proximity problème — a distributed network de edge serveurs caches resources physically closer à votre utilisateurs, cutting le speed-de-light coût de le connection et TLS handshake. c’est le highest-ROI corriger pour la plupart sites, parce que geographic distance depuis votre origin est a structural tax rien on le backend peut erase. Le caveat: pour entièrement dynamic, personalized contenu que ne peut pas être mis en cache, a CDN ajoute a hop sans a cache-hit payoff — là le réponse est backend optimization, edge compute, or streaming.
  • Cache votre HTML, même briefly. Même a court cache temps aide a busy site noticeably: seulement le premier visitor dans que window pays le complet latency back à le origin; everyone sinon obtient le mis en cache copy.
  • Eliminate redirections. Redirections sont a courant contributor à élevé TTFB — chaque un est a round trip avant le réel réponse commence. Cut le ones sous votre contrôler.
  • Stream markup à le navigateur. Navigateurs traiter markup efficiently quand c’est streamed dans chunks as il arrives. Nombreux SSR frameworks prise en charge streaming mais c’est left switched off; turning il on peut drop TTFB on dynamic pages avec aucun infrastructure modifier à tout.
  • Utiliser 103 Early Hints. Le 103 code d’état est a preliminary réponse le serveur peut send pendant que le backend est encore preparing le markup, hinting à le navigateur à begin downloading rendre-critical resources early. Il ne fait pas lower TTFB itself — dans fact a 103 peut count as le “premier byte” — mais il shrinks le impact de a élevé TTFB. Shopify et Cloudflare ont reported plusieurs hundred milliseconds de LCP improvement depuis il, dans some cas fermer à a deuxième.
  • Negotiate TLS efficiently et optimize service worker startup. A service worker que hasn’t commencé yet ajoute son startup temps à TTFB; une fois running, son cache (stale-tandis que-revalidate, or an app-shell model pour SPAs) peut dramatically reduce TTFB.

Où sites en réalité stand

Le raison ce est worth votre attention: c’est a stubborn problème à travers le web. Le Web Almanac’s mobile bon-TTFB rate a barely déplacé dans five années — hovering autour 41–42% — meaning a majority de mobile sites encore ne pas ont a “bon” TTFB. Que stagnation est, frankly, an opportunity. Pour a serveur-heavy site failing LCP, TTFB est généralement le highest-leverage corriger on le board.

Ce page est partie de le web-performance cluster, qui sits sous Core Web Vitals. Pour le metrics TTFB feeds dans, voir Plus grand affichage de contenu et Premier affichage de contenu; à mesurer il on réel utilisateurs et dans le lab, voir CrUX, PageSpeed Insights, et Lighthouse.

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.