Cos’è e cosa significa TTFB (Time to First Byte)
Il TTFB è un parametro molto interessante e importante, perché rispecchia le performance e la velocità di un sito. Dopo quanto tempo smettiamo di attendere il caricamento di un sito web e torniamo su Google per cercarne un altro? Stando sia alle esperienze quotidiane che a diversi studi, pochi secondi, pochissimi. Di conseguenza, se il vostro intento è far sì che un visitatore entri nel vostro sito e non vada invece a visitare quello di un concorrente, il sito deve essere scattante, reattivo e deve essere visualizzato dall’utente in pochi attimi. Su questo aspetto non ci sono scuse, che sia un sito vetrina o un portale ricco di contenuti, ridurre il TTFB, detto anche waiting ttfb, è d’importanza fondamentale.
Cos’è il TTFB
Acronimo di Time To First Byte, il TTFB è uno dei più importanti criteri di valutazione delle performance di un sito web e corrisponde al tempo che il impiega il computer del visitatore per ricevere il primo byte di risposta dal server. Tecnicamente, è il tempo che il server dove risiede il sito web impiega per ricevere la richiesta HTTP, processarla e inviare indietro il primo byte.
Andando ad approfondire la questione, il TTFB è il risultato di diverse operazioni di cui generalmente l’utente inesperto è ignaro. Dal DNS lookup fino al TCP handshake, oppure SSL handshake nel caso di connessioni che utilizzano il protocollo HTTPS, evoluzione sicura dell’HTTP.
Come si misura
Il Time To First Byte si misura in millisecondi ed equivale esattamente al tempo di invio della risposta, ovvero quando iniziamo a ricevere i primi dati del sito. Minore è il tempo di richiesta, cioè quello che trascorre dopo aver digitato l’URL nella barra degli indirizzi del browser e aver premuto il tasto Invio. Possiamo testare il TTFB di qualunque sito web utilizzando uno dei tanti tools disponibili online gratuitamente, come ByteCheck.

Nonostante la sua indubbia utilità nel capire le performance di responsività di un sito web, il TTFB andrebbe preso con le pinze. Rileggendo le prime righe di questo paragrafo, potete notare che ho parlato di tempo di invio della risposta. L’oggetto principale del TTFB è quindi la risposta, non il contenuto del sito. Stiamo quindi parlando quindi della risposta HTTP che informa il client (computer del visitatore) che il sito esiste, che è disponibile e che a momenti inizierà a ricevere i dati che compongono la pagina richiesta. Ovvero della struttura della pagina (HTML), degli eventuali altri file testuali come script e css e dei contenuti multimediali.
Per correttezza tecnica, quindi, dovremmo intendere il TTFB come Time To First HTTP Request Response Byte.
Perché il TTFB è importante e come si valuta
Da ciò che abbiamo appena letto possiamo capire che considerare il solo TTFB come criterio di valutazione della velocità di un sito web intesa come tempo di caricamento, potrebbe non avere tutto questo senso. Il server può rispondere immediatamente, nel giro di pochi millisecondi, ma il computer dell’utente può impiegare anche molto tempo a ricevere i primi byte.
Perché potrebbe impiegare più tempo?
Il tempo che il client impiega per ricevere i dati del sito web è affetto da molteplici fattori:
- le performance del server, come capacità di elaborazione (CPU), velocità della RAM e accesso allo storage (HDD o SSD);
- le performance dell’infrastruttura dell’hosting;
- le performance della nostra connessione e quella del server web;
- le performance di ogni altri hop;
- le performance del client;
- l’ottimizzazione del browser.
I siti web non sono più semplici file statici ma veri e propri software, scritti usando i tanti linguaggi di programmazione esistenti e agganciandosi ad altrettanti software e servizi. Tutto questo rende di fatto un sito web più simile ad un sistema software che ad una pagina HTML, che è solamente ciò che come utente riceviamo. Tutti questi fattori fanno sì che un sito web risulti performante fino a 2, massimo 3 secondi, da quando l’utente effettua la richiesta a quando inizia a visualizzare qualcosa.
Come ottimizzare il TTFB
E’ molto importante capire come ridurre il TTFB. Riuscirci non è impossibile ed è un’operazione che chiunque si occupi del ciclo di sviluppo e manutenzione di un sito web dovrebbe considerare, senza mai trascurarla. Di seguito vediamo alcuni modi per migliorare il TTFB.
Utilizzare una CDN
Una CDN (Content Delivery Network) è, come dice il nome, una rete per la consegna dei contenuti. Sono cioè dei server geograficamente distribuiti che memorizzano una copia del sito web e la forniscono ai visitatori, fisicamente localizzati vicino, riducendo così il TTFB. Oltre alla riduzione del TTFB le CND offrono altri vantaggi importanti, come la protezione da attacchi DDOS, l’alleggerimento del carico di lavoro del server dove risiede il sito e una diminuzione dei bot.
Ottimizzazione sito web e database
La maggior parte dei siti web oggi è realizzata utilizzando CMS (Content Management System) e componenti on-the shelf, parti di software realizzate da terzi e utilizzabili all’interno del proprio sito, come plugin, temi ed estensioni. Solo per fare un esempio celebre, si tratta del modello utilizzato da WordPress.
L’utilizzo di questi strumenti ha innumerevoli vantaggi, ma purtroppo anche uno svantaggio non indifferente: l’ottimizzazione. I CMS sono utilizzati in due modi che a prima vista sembrano simili, ma in realtà sono molto diversi. Possiamo utilizzare un CMS e qualche plugin per la realizzazione intera di un sito web, senza addentrarci nel codice e negli aspetti tecnici, oppure usarlo come base per poi procedere con personalizzazione, revisione ed ottimizzazione del codice, aggiunta di componenti ad hoc.
Ridurre le richieste HTTP
Quando visitiamo un sito web capita sempre più spesso che i contenuti che stiamo visualizzando non sono tutti nello stesso server del sito. Ciò significa che oltre a richiedere i dati del sito web al server, dovremo rivolgerci alla rete per caricare altri file, come script, css, font, immagini e video che risiedono in altri server. Per cui bisognerà quindi effettuare altrettante richieste HTTP, aumentando le attese e spesso mandare all’aria i nostri sforzi. Avere un sito web che si carica in due secondi per poi inserire una risorsa che ne richiede 6, significa vanificare del tutto gli sforzi.
Conclusione
Concludendo, il Time To First Byte è sicuramente da tenere in considerazione quando realizziamo un sito e scegliamo l’hosting, acquistando un piano che ci metta a disposizione un server con buone prestazioni. Questo è particolarmente importante se non vogliamo avvalerci di un servizio di CDN, geograficamente localizzato vicino al bacino di utenti che vogliamo raggiungere. Con un buon hosting il server web sarà più facilmente ben configurato e abbinato a una cache, aspetto che può risultare utile. Inoltre occorre ricordare che i risultati migliori si possono raggiungere concentrandosi su ciò che poco più su ho definito come Time To First Http Response Byte.