In seguito all'annuncio precedente, nelle prossime release il supporto del server push HTTP/2 verrà disattivato per impostazione predefinita in Chrome 106 e in altri browser basati su Chromium.
Perché viene rimosso?
La funzionalità Push del server HTTP/2 ha consentito ai siti web di inviare in modo proattivo le risorse necessarie alla pagina anziché attendere che vengano richieste. Tuttavia, era problematico come Jake Archibald scriveva in precedenza e i vantaggi in termini di rendimento erano spesso difficili da realizzare. Di conseguenza, non è stata utilizzata molto da solo l'1,25% dei siti HTTP/2 che la utilizzano.
L'analisi dell'utilizzo del server push HTTP/2 ha risultati misti (Chrome, Akamai), senza un chiaro guadagno netto in termini di prestazioni e, in molti casi, regressioni delle prestazioni.
Il push non è stato implementato in molti server e client HTTP/3, anche se era incluso nella specifica. Per gran parte del web che utilizza il più recente HTTP/3, la funzionalità Push è già stata ritirata. Quando ripetiamo l'analisi più di recente, abbiamo notato che l'1,25% di supporto HTTP/2 da parte dei siti è sceso allo 0,7%.
Alternative al push del server HTTP/2
103 Early Hints è un'alternativa molto meno soggetta a errori con molti degli stessi vantaggi di Push e molti meno svantaggi. Invece di inviare al server il push delle risorse, 103 Early Hints invia solo suggerimenti al browser di risorse di cui potrebbe trarre vantaggio dalla richiesta immediata. In questo modo, il browser ha il pieno controllo sulle proprie necessità, ad esempio se le risorse sono già presenti nella cache HTTP.
Il precaricamento delle risorse critiche è un'altra alternativa che consente alla pagina e al browser di interagire per caricare preventivamente le risorse critiche nelle prime fasi del caricamento della pagina. Sebbene ciò richieda che la pagina stessa venga inviata per prima, quindi non è così veloce come il push del server o i suggerimenti iniziali, ha il vantaggio aggiuntivo di non ritardare quella risorsa di pagina critica, il che può accadere con entrambe le soluzioni.
Conclusione
Il web deve poter fare delle prove e ignorarle quando non vengono usate. Sebbene il potenziale per Push fosse davvero elevato, in realtà il suo utilizzo era più problematico di quanto previsto. Tuttavia, abbiamo imparato molto da Push nella progettazione di 103 Early Hints. Ora è il momento di completare la progressione e abbandonare la modalità Push.
Link correlati
- Tutti i ritiri e le rimozioni in Chromium
- Voce ChromeStatus: Remove HTTP/2 push
- Intento di rimozione: push del server HTTP/2 e gQUIC
- Problema di Chromium: disattivare HTTP/2 push per impostazione predefinita
Ringraziamenti
Immagine hero di Scott Rodgerson su Unsplash