verifica ventajas usar tool test desventajas como server-push http2

server push - ventajas - HTTP 2 admitirá el empuje del servidor, ¿qué significa esto?



http2 test tool (2)

El mecanismo de inserción HTTP2 no es un mecanismo de inserción de servidor genérico como websocket o eventos enviados por el servidor.

Está diseñado para una optimización específica de conversaciones HTTP. Específicamente, cuando un cliente solicita un recurso (por ejemplo, index.html), el servidor puede adivinar que luego va a pedir un montón de recursos asociados (por ejemplo, theme.css, jquery.js, logo.png, etc.) Normalmente, una página web puede tener 10s de tales solicitudes asociadas.

Con HTTP / 1.1, el servidor tuvo que esperar hasta que el cliente realmente enviara la solicitud de estos recursos asociados, y luego el cliente está limitado por las conexiones para pedir solo aproximadamente 6 a la vez. Por lo tanto, puede tomar muchos viajes de ida y vuelta antes de que se envíen realmente todos los recursos asociados que necesita una página web.

Con HTTP / 2, el servidor puede enviar la respuesta a index.html GET push promete decirle al cliente que también enviará theme.css, jquery.js, logo.png, etc. como si el cliente tuviera los pidio Luego, el cliente puede cancelar esos empujes o simplemente esperar a que se envíen sin incurrir en la latencia adicional de varios viajes de ida y vuelta.

Aquí hay una demostración de push con SPDY (la base para HTTP2) con Jetty https://www.youtube.com/watch?v=4Ai_rrhM8gA . Aquí hay un blog sobre la API push para HTTP2 y SPDY en jetty: https://webtide.com/http2-push-with-experimental-servlet-api/

He leído un montón de cosas sobre HTTP 2 (que todavía está en desarrollo), así que también escuché sobre la función de inserción del servidor, pero no estoy claro.

¿Esta función de inserción del servidor significa que el servidor podrá enviar una respuesta al cliente sin que este último realice una solicitud? Al igual que una conexión TCP de vainilla? O me estoy perdiendo el punto?


Esencialmente su comprensión es correcta, sin embargo, hay mucho más que eso.

El servidor solo podrá enviar un recurso al cliente después de que se haya realizado una solicitud de una página HTTP y se hayan identificado los recursos requeridos por esa página para que se pueda representar correctamente, es decir, se hayan identificado imágenes, archivos JavaScript, CSS, etc. El mecanismo responsable de esto es el marco del lado del servidor. En Java, este será Servlet 4 y posiblemente JSF.

Un servidor no puede simplemente enviar ningún recurso al cliente cuando lo desee. Solo en las circunstancias anteriores ocurrirá y un cliente siempre podrá rechazar la solicitud del servidor para enviar un recurso.

El mecanismo del empuje del servidor HTTP / 2 ha sido realmente bien diseñado y, para familiarizarse con él, recomiendo esta descripción general de HTTP / 2 y este artículo en profundidad que se adentra en los aspectos internos del protocolo HTTP / 2 .