Temps to Premier Byte (TTFB)

Ce que TTFB measures, pourquoi it isn't a Core Web Vital, how it caps votre LCP and FCP, ce que counts as bon, and Comment corriger a slow server réponse.

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

Temps to Premier Byte is the temps from the commencer of une requête to quand the premier byte of la réponse arrives — the sum of redirection temps, service worker startup, DNS lookup, connection and TLS negotiation, and la requête itself. It n’est pas a Core Web Vital; it's a diagnostic, foundational metric and a major input to FCP and LCP. web.dev dit aim pour ≤0,8 s (bon) and treats >1,8 s as poor. It's les deux a field and lab metric. Lighthouse's 'Reduce server réponse times' audit is narrower — it flags server temps over ~600 ms, pas complet TTFB, and as of Lighthouse 13 lives à l’intérieur the 'Document requête latency' insight. Fix it with a CDN, edge/HTML mise en cache, faster hosting, fewer redirections, Early Hints, and efficient TLS. And remember: a élevé TTFB doesn't toujours mean a slow site.

TL;DR — TTFB is the temps from the commencer of la requête to quand the premier byte of la réponse arrives — the sum of redirection temps, service worker startup, DNS lookup, connection + TLS negotiation, and la requête itself, up to que premier byte. It is pas a Core Web Vital; it’s a foundational, diagnostic metric que feeds FCP and LCP. web.dev: bon is ≤0,8 s, poor is >1,8 s (75th percentile). It’s les deux a field and a lab metric. Lighthouse’s “Reduce server response times” audit is narrower — it flags server temps over ~600 ms, pas complet TTFB, and as of Lighthouse 13 it lives à l’intérieur the “Document request latency” insight. Fix it with a CDN, edge/HTML mise en cache, faster hosting, fewer redirections, 103 Early Hints, and efficient TLS. And a élevé TTFB doesn’t toujours mean a slow site.

Ce que TTFB en réalité measures

TTFB measures the temps entre starting to navigate to une page and quand the premier byte of la réponse begins to arrive. The chose personnes obtenir incorrect is treating it as pure backend processing temps. It isn’t. It’s the sum of everything que has to 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 and TLS negotiation
  5. La requête — up jusqu’à the point the premier byte of la réponse has arrived

Server processing is in là, but so is the whole connection-setup tax. Que distinction matters the moment vous commencer reading outils, parce que ils don’t tout mesurer the même slice (plus on que ci-dessous).

Evidence for this claim TTFB measures from request start until the first response byte and includes redirect, connection setup, and server-response time. Scope: Current web.dev navigation TTFB definition. Confidence: high · Verified: web.dev: Time to First Byte

It n’est pas a Core Web Vital

I’ll dire it plainly parce que it’s the unique la plupart courant misconception: TTFB n’est pas a Core Web Vital. The three Core Web Vitals are LCP (chargement), INP (interactivity), and CLS (visual stability). TTFB is a foundational, diagnostic metric — Google’s propre framing is que it’s “a foundational metric pour measuring connection setup temps and web server responsiveness in les deux the lab and the field.”

Google is aussi explicit que vous don’t strictly have to hit the bon TTFB threshold: parce que it isn’t a Core Web Vital, it’s “pas absolutely necessary que sites meet the ‘bon’ TTFB threshold, provided que it doesn’t impede leur ability to score bien on the metrics que matter.” Que dernier clause is the catch — pour la plupart sites a bad TTFB absolutely fait impede the metrics que matter.

How it caps FCP and LCP

TTFB precedes every user-centric chargement metric. Les deux Premier affichage de contenu and Plus grand affichage de contenu inclure TTFB in leur measurement — the clock pour ceux metrics is déjà running pendant que vous wait pour the premier byte. web.dev breaks LCP into sub-parts and TTFB is the premier of les, qui is pourquoi vous pouvez’t have a fast LCP sitting on top of a slow TTFB.

Ce is aussi où the real-world données obtient pointed. The HTTP Archive’s Web Almanac trouvé que on sites with poor LCP, TTFB alone was eating roughly 2,27 seconds — nearly the entier 2,5-second “good LCP” budget — avant quelconque image or text même commencé to render. Si votre LCP is bad and votre on-page content semble optimized, TTFB is the premier placer I’d regarder.

So the ranking story is indirect but réel: TTFB n’est pas a Google ranking signal (the ranking signals are LCP, INP, and CLS — TTFB isn’t named in que définir). But it’s baked into LCP, qui is a ranking signal. The chemin runs 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
Evidence for this claim web.dev recommends a TTFB of 0.8 seconds or less; above 1.8 seconds is poor at the 75th percentile. Scope: Current web.dev TTFB guidance; TTFB is diagnostic, not a Core Web Vital. Confidence: high · Verified: web.dev: Time to First Byte

“Most sites should strive to have a TTFB of 0.8 seconds or less.” Worth knowing the history: Google déplacé the “good” line from 500 ms to 800 ms back in 2022, and older données was recalculated sous the nouveau standard — so don’t comparer raw historical TTFB numbers sans checking qui threshold ils utilisé.

The 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 is the field threshold pour complet TTFB (DNS + connection + TLS + redirections + server temps).
  • Lighthouse “Reduce server response times” audit: ~600 ms. Ce is a lab audit que flags quand le navigateur waits plus que à propos de 600 ms pour le serveur to respond to the principal document requête. Crucially, it measures server réponse temps seulement — it ne fait pas inclure DNS, connection setup, or TLS.

So the Lighthouse number semble stricter, but it’s measuring a narrower slice. As the docs put it, “server réponse temps is seulement partie of the complet Temps to Premier Byte (TTFB).” Don’t treat a passing Lighthouse audit as proof of a bon field TTFB, and don’t panic que 600 < 800 signifie the thresholds contradict chaque autre — ils mesurer différent choses.

Un version remarque: as of Lighthouse 13, ce audit ne … plus stands alone — it’s been folded into the broader “Document request latency” insight. The underlying ~600 ms server-response vérifier is the même; it’s simplement surfaced differently depending on qui Lighthouse version generated votre report.

Field and lab — les deux

TTFB is un of the metrics vous pouvez lire in les deux worlds. In the field, it comes from CrUX (réel Chrome utilisateurs), surfaced in PageSpeed Insights and Search Console. In the lab, Chrome DevTools étiquettes it “Waiting (TTFB)” in the Network panel waterfall (“the browser is waiting for the first byte of a response”), and outils comme WebPageTest and Lighthouse report it aussi. Un field caveat: in CrUX, TTFB is encore treated as somewhat experimental — it excludes some avancé navigation types comme prerendered and back/forward-cache navigations, so field averages peut lire a touch pessimistic relative to ce que utilisateurs en réalité feel.

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

Here’s the nuance que the threshold numbers hide. A server-rendered page peut post a plus élevé TTFB que a client-rendered un and encore deliver meilleur FCP and LCP — parce que quand que premier byte finalement arrives, it’s complet HTML le navigateur peut paint immédiatement, plutôt que a thin shell que alors has to récupérer and run a JavaScript bundle avant anything apparaît. Google dit it directement: “a server-rendered site que ne fait pas exiger as beaucoup client-side fonctionner pourrait have a plus élevé TTFB, but meilleur FCP and LCP valeurs que an entirely client-rendered experience.”

The flip side: pour a client-rendered single-page app, TTFB determines quand the JavaScript bundle même starts chargement, so a low TTFB matters plus là, pas moins. Don’t optimize TTFB in a vacuum — optimize the whole chargement chain, and judge TTFB by ce que it fait to FCP and LCP.

How to améliorer TTFB

Roughly in priority order:

  • Commencer with hosting. A slow backend or database requête is a tax on every unique requête, and aucun amount of front-end fonctionner removes it. Ce is the premier chose to considérer.
  • Utiliser a CDN. A CDN solves the proximity problem — a distributed network of edge servers caches resources physically closer to votre utilisateurs, cutting the speed-of-light cost of the connection and TLS handshake. It’s the highest-ROI fix pour la plupart sites, parce que geographic distance from votre origin is a structural tax nothing on the backend peut erase. The caveat: pour entièrement dynamic, personalized content que can’t be mis en cache, a CDN adds a hop sans a cache-hit payoff — là the réponse is backend optimization, edge compute, or streaming.
  • Cache votre HTML, même briefly. Même a short cache temps helps a busy site noticeably: seulement the premier visitor in que window pays the complet latency back to the origin; everyone sinon obtient the mis en cache copy.
  • Eliminate redirections. Redirections are a courant contributor to élevé TTFB — chaque un is a round trip avant the réel réponse starts. Cut the ones sous votre contrôler.
  • Stream markup to le navigateur. Navigateurs traiter markup efficiently quand it’s streamed in chunks as it arrives. Nombreux SSR frameworks prise en charge streaming but it’s left switched off; turning it on peut drop TTFB on dynamic pages with aucun infrastructure modifier at tout.
  • Utiliser 103 Early Hints. The 103 code d’état is a preliminary réponse le serveur peut send pendant que the backend is encore preparing the markup, hinting to le navigateur to begin downloading render-critical resources early. It doesn’t lower TTFB itself — in fact a 103 peut count as the “first byte” — but it shrinks the impact of a élevé TTFB. Shopify and Cloudflare have reported several hundred milliseconds of LCP improvement from it, in some cas fermer to a second.
  • Negotiate TLS efficiently and optimize service worker startup. A service worker que hasn’t commencé yet adds its startup temps to TTFB; une fois running, its cache (stale-while-revalidate, or an app-shell model pour SPAs) peut dramatically reduce TTFB.

Où sites en réalité stand

The raison ce is worth votre attention: it’s a stubborn problem à travers the web. The Web Almanac’s mobile good-TTFB rate has barely déplacé in five années — hovering autour 41–42% — meaning a majority of mobile sites encore don’t have a “good” TTFB. Que stagnation is, frankly, an opportunity. Pour a server-heavy site failing LCP, TTFB is usually the highest-leverage fix on the board.

Ce page is partie of the web-performance cluster, qui sits sous Core Web Vitals. Pour the metrics TTFB feeds into, voir Plus grand affichage de contenu and Premier affichage de contenu; to mesurer it on réel utilisateurs and in the lab, voir CrUX, PageSpeed Insights, and Lighthouse.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.