persistente http http-pipelining

http no persistente



¿Cuáles son las desventajas de usar la canalización HTTP? (1)

Errores de implementación

Para que la canalización funcione, las respuestas deben volver en el orden en que se solicitaron. Una implementación de servidor ingenua podría enviar la respuesta tan pronto como se haya calculado. Si se envían varias solicitudes en paralelo, y la primera solicitud demora más en procesarse (por ejemplo, procesando una imagen más grande), las respuestas estarán fuera de orden.

Este es un problema para el cliente ya que HTTP es un protocolo sin estado, el cliente no tiene forma de hacer coincidir las solicitudes con las respuestas. Depende del orden en que regresaron las respuestas.

Un servidor DEBE enviar sus respuestas a esas solicitudes en el mismo orden en que se recibieron las solicitudes.

Problemas de desempeño

Incluso si el servidor admite correctamente la canalización, pueden surgir problemas de rendimiento porque todas las solicitudes posteriores tienen que esperar a que se complete la primera (bloqueo de jefe de línea).

Entonces, en resumen, los problemas con la canalización de HTTP son:

  • Algunos servidores y la mayoría de los servidores proxy no lo admiten. (Quizás debido a problemas de seguridad / confiabilidad o rendimiento)
  • Algunos servidores lo admiten incorrectamente y esto puede provocar errores en los clientes.
  • No es necesariamente una victoria de rendimiento.
  • Susceptible al bloqueo de cabecera de línea.

La sesión 706 de la WWDC 2012: las mejores prácticas de redes explica la canalización HTTP .

  • Por defecto está deshabilitado en iOS
  • En la charla se describe como una gran victoria de rendimiento.

¿Por qué no quieres usarlo?