1. TCP/IP es un grupo de protocolos que se puede dividir en tres capas: capa de red, capa de transporte y capa de aplicación.
En la capa de red, existen el protocolo IP, el protocolo ICMP, el protocolo ARP, el protocolo RARP y el protocolo BOOTP.
Hay protocolo TCP y protocolo UDP en la capa de transporte.
En la capa de aplicación, existen protocolos como FTP, HTTP, TELNET, SMTP y DNS.
Por lo tanto, HTTP en sí es un protocolo, un protocolo de transmisión para transmitir hipertexto desde un servidor web a un navegador local.
2. El protocolo HTTP se basa en el modelo de solicitud/respuesta. Primero, el cliente establece una conexión TCP con el servidor y envía una solicitud al servidor, que incluye el método de solicitud, el URI, la versión del protocolo y los mensajes de estilo MIME relacionados. El servidor responde con una línea de estado que contiene la versión del protocolo del mensaje, un código de éxito y de error y el estilo MIME asociado del mensaje.
HTTP/1.0 establece una nueva conexión TCP para cada solicitud/respuesta HTTP, por lo que una página que contenga contenido HTML e imágenes necesitará establecer múltiples conexiones TCP a corto plazo. El establecimiento de una conexión TCP requerirá 3 apretones de manos.
Además, para obtener la velocidad de transmisión adecuada, TCP necesita gastar tiempo de conexión de ida y vuelta (RTT) adicional. El establecimiento de cada enlace requiere este tipo de gastos generales regulares y no transporta datos útiles reales, sino que solo garantiza la confiabilidad del enlace. Por lo tanto, HTTP/1.1 propone un método de implementación de enlaces sostenible. HTTP/1.1 solo establecerá una conexión TCP una vez y la usará repetidamente para transmitir una serie de mensajes de solicitud/respuesta, reduciendo así la cantidad de establecimientos de conexión y la sobrecarga de conexión regular.

3. Conclusión: aunque HTTP en sí es un protocolo, en última instancia se basa en TCP. Sin embargo, en la actualidad, algunas personas están estudiando el protocolo HTTP basado en la combinación TCP+UDP.
¿Qué es el zócalo?
Socket es una capa de abstracción de software intermedia para la comunicación entre la capa de aplicación y la familia de protocolos TCP/IP, y es un conjunto de interfaces. En el modo de diseño, Socket es en realidad un modo fachada, que oculta la compleja familia de protocolos TCP/IP detrás de la interfaz Socket. Para los usuarios, un conjunto de interfaces simples lo es todo y Socket organiza los datos para cumplir con el protocolo especificado.





