En Google Chrome 106 ya no se admitirá Server Push
Google dio a conocer sus planes que tiene sobre la eliminación del soporte para Server Push con Chrome 106, (el cual está programado para el 27 de septiembre) y que el cambio también afectará a otros navegadores basados en el código base de Chromium.
Para quienes desconocen de la tecnología Server Push, deben saber que está definida en los estándares HTTP/2 y HTTP/3, y permite que el servidor envíe recursos al cliente sin esperar a que se soliciten explícitamente.
Se supone que de esta manera el servidor puede acelerar la carga de la página, ya que los archivos CSS, scripts e imágenes necesarios para renderizar la página ya estarán transferidos a su lado en el momento en que el cliente lo solicite.
El análisis del uso de HTTP/2 Server Push tiene resultados mixtos ( Chrome , Akamai ), sin una clara ganancia neta de rendimiento y, en muchos casos, regresiones de rendimiento.
Push no se implementó en muchos servidores y clientes HTTP/3, aunque se incluyó en la especificación . Para gran parte de la web que usa el HTTP/3 más reciente , Push ya se ha retirado. Al volver a ejecutar ese análisis más recientemente, vemos que el 1,25 % de compatibilidad con HTTP/2 por parte de los sitios se redujo al 0,7 %.
Como motivo del fin del soporte se menciona la complicación innecesaria de la implementación de la tecnología en presencia de alternativas más sencillas y no menos efectivas, como la etiqueta <link rel=»preload»>, a partir de la cual el navegador puede solicitar un recurso sin esperar a que se utilice en la página. Por un lado, la precarga, en comparación con Server Push, genera un intercambio de paquetes adicional (RTT), pero, por otro lado, evita el envío de recursos que ya están en la memoria caché del navegador. En general, las diferencias en los retrasos cuando se usa Server Push y la precarga se marcan como insignificantes.
Para iniciar la carga proactiva en el lado del servidor, se propone utilizar el código de respuesta HTTP 103, que le permite informar al cliente sobre el contenido de algunos encabezados HTTP inmediatamente después de la solicitud, sin esperar a que el servidor realice todas las operaciones asociadas con la solicitud y empezar a servir el contenido.
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 envía solo sugerencias al navegador de los recursos que puede beneficiarse al solicitarlos de inmediato. Esto deja al navegador en control de decidir si los necesita o no, por ejemplo, si ya tiene esos recursos en la memoria caché HTTP.
La precarga de recursos críticos es otra alternativa que permite que la página y el navegador trabajen juntos para cargar de manera preventiva los recursos críticos al principio de la carga de la página.
De manera similar, puede proporcionar sugerencias sobre los elementos asociados con la página renderizada, que se pueden precargar (por ejemplo, se pueden proporcionar enlaces al CSS y JavaScript utilizados en la página). Habiendo recibido información sobre dichos recursos, el navegador puede comenzar a descargarlos sin esperar el final del regreso de la página principal, lo que reduce el tiempo total de procesamiento de la solicitud.
Además de optimizar la carga de recursos, el mecanismo Server Push también podría usarse para transmitir datos desde el servidor al cliente, pero para estos fines, el consorcio W3C desarrolla el protocolo WebTransport. El canal de comunicación en WebTransport se organiza sobre HTTP/3 utilizando el protocolo QUIC como transporte, WebTransport ofrece funciones avanzadas como transmisión múltiple, transmisiones unidireccionales, entrega fuera de orden, modos de entrega confiables y no confiables.
Según las estadísticas de Google, la tecnología Server Push no ha recibido una distribución adecuada. Aunque Server Push está presente en la especificación HTTP/3, en la práctica, muchos productos de software de servidor y cliente, incluido el navegador Chrome, no lo implementaron de forma nativa. En 2021, alrededor del 1,25 % de los sitios web que se ejecutan en HTTP/2 utilizaron Server Push. Este año, esta cifra ha descendido hasta el 0,7%.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.