HTTP usa conexión TCP. Pero HTTP usa solo una conexión TCP.
En HTTP, el cliente inicia una sesión HTTP abriendo una conexión TCP al servidor HTTP con el que desea comunicarse. Luego envía mensajes de solicitud al servidor, cada uno de los cuales especifica un tipo particular de acción que el usuario del cliente HTTP desea que el servidor tome. El servidor responde a la solicitud del cliente y envía los datos que desea. Pero HTTP usa solo una conexión TCP, es decir, de cliente a servidor, no hay conexión TCP de servidor a cliente. El servidor envía datos al cliente, no hay garantía de que el cliente los obtenga. Si el cliente no obtiene los datos en el TTL (tiempo de vida), nuevamente realiza una solicitud de datos.
Necesitamos una conexión confiable de cliente a servidor para que el servidor pueda recibir todas las solicitudes hechas por el cliente. No hay necesidad de una conexión confiable de servidor a cliente. Si el cliente no obtiene los datos que solicita en el momento, él nuevamente realiza solicitudes para los datos.
¿HTTP utiliza TCP o UDP? ¿Por qué?
Related Content
¿Alguien puede escribir un programa para la aplicación de chat en C ++?
Si bien es completamente posible construir un mecanismo de transporte confiable sobre los datagramas UDP (el protocolo QUIC experimental de Google hace exactamente eso), rara vez es necesario reinventar la rueda cuando TCP ya es un estándar.
HTTP usa TCP porque los archivos, las imágenes y las páginas web que obtenemos del host remoto no deben descartarse en el camino y deben entregarse para el cliente HTTP.
HTTP también podría usar UDP, pero generalmente no, si se pierde un paquete UDP que contiene la primera parte de una página web, no se retransmite. Necesitamos escribir algo de código en la capa de aplicación para manejar estas retransmisiones de paquetes perdidos cuando usamos UDP.
Como no queremos cargar a los navegadores web (capa de aplicación) al hacer este trabajo en lugar de hacer el trabajo real de renderizar páginas, usamos TCP.
HTTP usa TCP en lugar de UDP porque garantiza la entrega a través de un enlace de tres vías y la retransmisión de paquetes perdidos. UDP se utiliza principalmente para la transmisión de voz y video para evitar el ensamblaje de paquetes fuera de servicio que puede causar jitter y no requiere el uso de un protocolo de enlace de tres vías más allá del SIP, los protocolos Skinny utilizados para configurar la llamada. TCP retransmitirá los paquetes perdidos y garantizará que todos los datos se reciban como resultado, asegurando que obtendrá todas las imágenes, enlaces y otros elementos de la página web. Si lo hace con una llamada de voz, habrá problemas de calidad de la llamada cuando los paquetes lleguen fuera de servicio o se descarten y haya un retraso en la espera de que ese paquete vuelva a transmitirse.
Espero que esto ayude.
HTTP utiliza TCP, ya que necesita un servicio de entrega confiable subyacente. La mayoría de los navegadores web utilizan el protocolo HTTP para mostrar sitios web en el navegador del cliente y no desea que falten algunos paquetes en la vista.
Recientemente completé un artículo para enumerar los trabajos de investigación más influyentes en el desarrollo de protocolos TCP / IP. No olvides echarle un vistazo.
Debe leer documentos de investigación sobre redes de computadoras
More Interesting
¿Los ISP registran las IP asignadas a sus clientes?
¿Qué aplicaciones usan protocolos TCP / IP?
¿Por qué es el protocolo de control de congestión TCP aunque existe congestión en la capa de red?
¿Qué dispositivos y medios se utilizan en la capa de sesión del OSI?
Cómo rastrear una computadora portátil con una dirección Mac / IP
¿Cuál es el mejor ocultador de IP?
¿Qué significa el sistema abierto en un modelo OSI?
¿Cómo funciona realmente Port no en TCP?
¿Cómo se adquiere una nueva dirección IP?
Cómo encontrar la ubicación de un hacker por su dirección IP