Cómo quitar el servidor Push HTTP/2 de Chrome

A partir del anuncio anterior, la compatibilidad con Server Push HTTP/2 se inhabilitará de forma predeterminada en Chrome 106 y otros navegadores basados en Chromium en sus próximas versiones.

¿Por qué se quitará este elemento?

El servidor push HTTP/2 permitió que los sitios web enviaran de manera proactiva los recursos que necesita la página en lugar de esperar a que se solicitaran. Sin embargo, se generaba un problema, como Jake Archibald escribía anteriormente, y los beneficios de rendimiento a menudo eran difíciles de obtener. Como resultado, no se usó demasiado con solo el 1.25% de los sitios HTTP/2 que utilizaban esta función.

El análisis del uso del servidor push HTTP/2 arroja resultados mixtos (Chrome y Akamai), sin una clara mejora neta del rendimiento y, en muchos casos, regresiones de rendimiento.

El envío no se implementó en muchos servidores y clientes HTTP/3, a pesar de que se incluyó en la especificación. Para gran parte de la Web que usa el HTTP/3 más reciente, el método push ya se retiró. Al volver a ejecutar ese análisis más recientemente, observamos que la compatibilidad con HTTP/2 del 1.25% por parte de los sitios se redujo al 0.7%.

Alternativas al servidor Push HTTP/2

103 Early Hints es una alternativa mucho menos propensa a errores, con muchas de las mismas ventajas que Push y muchas menos desventajas. En lugar de que el servidor envíe recursos, 103 Early Hints solo envía sugerencias al navegador sobre los recursos que podría beneficiarse de solicitar de inmediato. Esto deja que el navegador tenga el control de decidir si los necesita o no, por ejemplo, si ya tiene esos recursos en la caché HTTP.

La precarga de recursos críticos es otra alternativa que permite que la página y el navegador trabajen en conjunto para cargar de manera preventiva recursos críticos al comienzo de la carga de la página. Si bien esto requiere que la página en sí se envíe primero, por lo que no es tan rápido como Server Push ni Early Hints, tiene el beneficio adicional de no retrasar ese recurso de página crítico, lo que puede suceder con ambas soluciones.

Conclusión

La Web necesita poder probar cosas y descartarlas cuando no se usen. Si bien el potencial para Push sonaba increíble, en realidad usarlo era más problemático de lo previsto. Sin embargo, aprendimos mucho de Push en relación con el diseño de 103 Early Hints. Ahora es el momento de completar la progresión y salir de Push.

Agradecimientos

Hero image de Scott Rodgerson en Unsplash