Time to First Byte (TTFB) : Définition, Causes, Optimisation

TTFB mesure le temps entre la requête et le premier byte de réponse. Plafonne LCP. ≤ 800ms = bon. Affecté par serveur, DB, réseau, CDN.

Qu'est-ce que Time to First Byte (TTFB) ?

Time to First Byte (TTFB) est le temps que met le navigateur à recevoir le premier byte d'une réponse HTTP après avoir envoyé la requête. Il capture tout ce qui se passe avant que tout rendering puisse commencer : DNS lookup, handshake TCP, négociation TLS, traitement serveur, queries database et round-trip réseau.

TTFB est fondamental pour la performance perçue — chaque métrique subséquente (LCP, FCP, TTI) en est bornée.

Phases TTFB

PhaseCe qui se passeShare typique
DNS lookupRésoudre domaine en IP0-100ms
Connexion TCPHandshake 3-way~1 RTT
Négociation TLSHandshake SSL1-2 RTTs
Requête envoyéeRequête HTTPTrivial
Traitement serveurApp + database0-2000+ ms
Premier byte arriveTransfer réseau back1 RTT

Thresholds TTFB

TTFBRating
≤ 800msBon
800ms - 1800msBesoin amélioration
> 1800msPauvre

Comment mesurer TTFB

API JavaScript

new PerformanceObserver((list) => {
  for (const entry of list.getEntriesByType('navigation')) {
    const ttfb = entry.responseStart - entry.requestStart;
    console.log('TTFB:', ttfb, 'ms');
  }
}).observe({ type: 'navigation', buffered: true });

cURL

curl -w "time_starttransfer: %{time_starttransfer}\n" -o /dev/null -s https://example.com

Outils

OutilType
Lighthouse / PageSpeed InsightsLab
Chrome DevTools NetworkLab
WebPageTestLab depuis plusieurs régions
web-vitals.jsRUM
Search Console CWV reportField
CrUX DashboardField, public
Logs serveurServer-side, juste phase app

Optimisations TTFB courantes

1. CDN avec edge caching

Edge servers répondent depuis RAM en < 50ms. Plus grand win TTFB.

2. Cacher HTML dynamique

Pages SSR peuvent souvent être cachées 60s-5min au CDN.

3. Optimiser queries database

Queries N+1 lentes sont le killer TTFB server-side #1.

4. Utiliser HTTP/2 ou HTTP/3

Élimine head-of-line blocking.

5. TLS 1.3 pour handshake plus rapide

1 RTT au lieu de 2 pour nouvelles connexions.

6. Reuse de connexion

Keep-alive + multiplexing HTTP/2.

7. Origins geo-distribués

Origin en us-east-1, utilisateurs à Sydney = 200ms+ réseau seul.

8. Pre-render ou static generate

Si page n'a pas besoin d'être dynamique.

TTFB et Core Web Vitals

  • LCP commence à mesurer depuis la requête, donc TTFB est inclus dans LCP
  • Si TTFB est 1s, LCP est au moins 1s
  • Améliorer TTFB de 500ms améliore typiquement LCP de ~500ms

Pièges TTFB courants

  • Origin dans une région, utilisateurs mondialement.
  • SSR sans caching.
  • Queries DB N+1.
  • Calls API external synchrones.
  • Cold-start fonctions serverless.
  • Middleware lourd.
  • Resumption TLS désactivé.
  • HTTP/1.1 only.

FAQ : Time to First Byte

Quel est un bon TTFB ?

≤ 800ms au percentile 75 per Google.

TTFB est-il un Core Web Vital ?

Non — INP, LCP et CLS le sont. Mais TTFB est métrique diagnostique recommandée.

Comment CDN améliore-t-il TTFB ?

Edge servers cachent réponses près des utilisateurs.

Pourquoi mon TTFB est-il différent en lab vs field ?

Tests lab utilisent réseaux contrôlés ; field mesure vrais utilisateurs.

HTTPS hurts-t-il TTFB ?

Légèrement — TLS ajoute ~1-2 RTTs. Mais TLS 1.3 minimise coût.

Comment améliorer TTFB sur page dynamique ?

Cacher au CDN, optimiser queries DB, déplacer à edge SSR.

Différence entre TTFB et server response time ?

Server response time = juste phase app/DB. TTFB = réseau + phase app.

Testez TTFB depuis vraies régions avec LoadFocus

LoadFocus exécute Lighthouse + load tests depuis 25+ régions globales. Inscrivez-vous sur loadfocus.com/signup.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×