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?
Respuesta
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.
No sabía sobre el movimiento de UDP. ¿Cómo sabría el cliente que la respuesta cabría en un solo datagrama? –
@BrianWhite Supongo que el cliente no podría saber en todos los casos. – grieve
@BrianWhite Bueno, ese era el problema. La idea era usarlo para solicitudes como HEAD que tienen pequeñas cargas de solicitud y respuesta. – EJP
- 1. ¿Por qué RTP usa UDP en lugar de TCP?
- 2. que usa un puerto TCP?
- 3. ¿Por qué Ruby on Rails usa http://0.0.0.0:3000 en lugar de http: // localhost: 3000?
- 4. ¿HTTP usa UDP?
- 5. NET TCP/HTTP WCF alojado en IIS
- 6. ¿Cuándo usa rabbitmq la contrapresión de tcp?
- 7. ¿Google Talk usa paquetes udp o tcp?
- 8. HTTP Keep Alive y TCP keep alive
- 9. ¿Por qué se usa bind() en TCP? ¿Por qué se usa solo en el servidor y no en el lado del cliente?
- 10. ¿por qué se usa osgi?
- 11. ¿Por qué Android usa Java?
- 12. ¿Por qué Heroku usa Postgresql?
- 13. ¿Por qué se usa suhosin?
- 14. ¿Qué es LiteralControl? ¿Por qué se usa?
- 15. ¿Por qué se usa console.log? ¿Qué hace?
- 16. ¿Por qué no usar SO_REUSEADDR en servidores Unix TCP/IP?
- 17. Button_to usa POST Link_to usa GET, ¿por qué? ROR
- 18. ¿Por qué <META HTTP-EQUIV = "Content-Script-Type" ...> no se usa?
- 19. ¿Qué CSS de restablecimiento de HTML5 usa y por qué?
- 20. ¿Por qué `http` en http-enumerator es un Iteratee?
- 21. ¿Por qué se usa NSUserDefaults en iOS?
- 22. ¿Por qué md5 todavía se usa ampliamente?
- 23. ¿Por qué Web Sockets no usa SOAP?
- 24. enum anidado, ¿por qué se usa?
- 25. ¿Por qué no se usa clang más?
- 26. ¿Por qué ArrayList usa almacenamiento transitorio?
- 27. ¿Por qué Eclipse usa un iniciador nativo?
- 28. ¿Por qué Psyco usa mucha memoria?
- 29. ¿Por qué mi profesor usa dos getchar() ;?
- 30. iPhone dev - ¿Por qué usa 8MB?
garantía de entrega del paquete nedeed – gureedo
y protección de reordenamiento de paquetes –
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