A seguito dell'annuncio precedente, nelle prossime release il supporto della tecnologia push del server HTTP/2 verrà disattivato per impostazione predefinita in Chrome 106 e in altri browser basati su Chromium.
Perché è stato rimosso?
La funzionalità Server Push HTTP/2 consentiva ai siti web di inviare in modo proattivo le risorse necessarie alla pagina anziché attendere che venissero richieste. Tuttavia, come scritto in precedenza da Jake Archibald, era problematico e i vantaggi in termini di prestazioni erano spesso difficili da realizzare. Di conseguenza, non è stata molto utilizzata, con solo l'1,25% dei siti HTTP/2 che utilizza questa funzionalità.
L'analisi dell'utilizzo del push del server HTTP/2 ha risultati misti (Chrome, Akamai), senza un chiaro miglioramento delle prestazioni nette 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, il push è già stato ritirato. Eseguendo di nuovo l'analisi di recente, abbiamo notato che il 1,25% di siti che supportano HTTP/2 è 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 risorse tramite push dal server, gli indicatori in anteprima 103 inviano solo suggerimenti al browser sulle risorse di cui potrebbe trarre vantaggio richiedendole immediatamente. In questo modo, il browser può decidere se devono o meno richiederle, ad esempio se le risorse sono già presenti nella cache HTTP.
Il precaricamento delle risorse fondamentali è un'altra alternativa che consente alla pagina e al browser di lavorare insieme per caricare preventivamente le risorse fondamentali all'inizio del caricamento della pagina. Sebbene questo richieda l'invio della pagina stessa per prima, quindi non sia veloce come Server Push o Early Hints, ha il vantaggio aggiuntivo di non ritardare la risorsa pagina critica, cosa che può accadere con entrambe le soluzioni.
Conclusione
Il web deve poter provare le varie funzionalità e ignorarle quando non sono utilizzate. Sebbene il potenziale di Push fosse molto interessante, in realtà il suo utilizzo era più problematico del previsto. Tuttavia, abbiamo imparato molto da Push e abbiamo applicato queste conoscenze al design di 103 Early Hints. Ora è il momento di completare la progressione ed eliminare Push.
Risorse
- Tutte le ritirazioni e le rimozioni in Chromium
- Voce di ChromeStatus: Rimuovi push HTTP/2
- Intento di rimozione: push del server HTTP/2 e gQUIC
- Problema di Chromium: Turn HTTP/2 Push off by default