2012-10-11 38 views
5

Supongo que una forma de parafrasear esta pregunta es por qué no puede HTTP simplemente usar UDP? ¿Qué funcionalidades específicas proporcionadas por el TCP son requeridas explícitamente por HTTP?¿Por qué HTTP usa TCP?

+1

garantía de entrega del paquete nedeed – gureedo

+1

y protección de reordenamiento de paquetes –

+1

No hay 'garantía de entrega del paquete'. Lo que hay es una garantía de que * si se recibe un byte, * es el valor correcto del siguiente byte en la secuencia, sin espacios vacíos ni duplicados. – EJP

Respuesta

8

Pedidos, no duplicación, integridad, ritmo de cargas útiles grandes, ... igual que cualquier otra persona realmente necesita. Hubo un movimiento hace algunos años para proporcionar HTTP sobre UDP para pequeñas cargas útiles que encajarían en un solo datagrama, y ​​lo mismo para las respuestas, pero la mayoría de las cargas HTTP son demasiado grandes para un datagrama, por lo que el punto se pierde.

+0

No sabía sobre el movimiento de UDP. ¿Cómo sabría el cliente que la respuesta cabría en un solo datagrama? –

+0

@BrianWhite Supongo que el cliente no podría saber en todos los casos. – grieve

+1

@BrianWhite Bueno, ese era el problema. La idea era usarlo para solicitudes como HEAD que tienen pequeñas cargas de solicitud y respuesta. – EJP