¿Cuál es la diferencia entre la segmentación de HTTP/1.1 y la multiplexación de HTTP/2?
http2 multiplexing (3)
¿Es porque requiere que las respuestas se realicen al cliente en el orden de solicitud que causa el problema de bloqueo de línea en HTTP 1.1?
Si cada solicitud toma exactamente la misma cantidad de tiempo, entonces no habrá un bloqueo de cabecera de línea y una canalización de HTTP 1.1, ¿y funcionaría igual que el de la multiplexación de HTTP / 2?
(digamos que no hay prioridad de solicitud en las solicitudes HTTP / 2 y desestime otros cambios de HTTP / 2 como la compresión de encabezado, binario, etc.)
Creo que para elaborar, ambos ofrecen mejoras de rendimiento similares.
Sin embargo, la canalización (o doble búfer) se ve obstaculizada por los servidores con errores y, a veces, los servidores con errores. Así que los navegadores dejaron de soportarlo.
La solución es utilizar un protocolo HTTP / 2 completamente nuevo. Esto tiene algunas características adicionales, como el retorno fuera de orden, la compresión del encabezado y el empuje del servidor, pero no está claro cuánta mejora proporcionan. El problema clave es los errores.
La canalización HTTP / 1.1 aún requiere que las solicitudes se devuelvan por completo, en el orden solicitado.
HTTP / 2 permite que las respuestas de las solicitudes se dividan en partes y se devuelvan de manera entremezclada, evitando así el bloqueo de cabecera de línea.
Además, la canalización de HTTP / 1.1 nunca despegó y el soporte del navegador y el servidor es limitado (consulte: https://en.m.wikipedia.org/wiki/HTTP_pipelining ).
Pero sí, en teoría, son similares y, por lo tanto, ofrecen beneficios de rendimiento similares. HTTP / 2 es solo una versión mejor, más completa y más compatible de esto, junto con otros beneficios que ha observado.
HTTP / 1.1 sin canalización: cada solicitud HTTP a través de la conexión TCP debe responderse antes de que se pueda realizar la siguiente solicitud.
HTTP / 1.1 con canalización: cada solicitud HTTP a través de la conexión TCP puede realizarse inmediatamente sin esperar a que la respuesta de la solicitud anterior regrese. Las respuestas volverán en el mismo orden.
Multiplexación HTTP / 2: Cada solicitud HTTP a través de la conexión TCP puede realizarse inmediatamente sin esperar a que la respuesta anterior regrese. Las respuestas pueden volver en cualquier orden.