Dependiendo de la aplicación y de cómo se esté empleando, las solicitudes HTTP pueden hacerse una tras otra, periódicamente a intervalos regulares o de forma intermitente.

¿Debería cada par solicitud/respuesta enviarse a través de una conexión TCP separada o deberían enviarse todas las solicitudes y sus correspondientes respuestas a través de la misma conexión TCP?

HTTP con conexiones no persistentes

Si cada par se envía a través de una conexión TCP separada → Conexiones no persistentes.

Pasos para transferir una página web que consta de un archivo base HTML y 10 imágenes JPEG, residiendo los 11 objetos en el mismo servidor.

Siendo la URL del archivo base: http://www.unaescuela.edu/unDepartmento/home.index

  1. El proceso cliente HTTP inicia una conexión TCP con el servidor www.unaEscuela.edu en el puerto número 80 (puerto HTTP).
  2. El cliente HTTP envía un mensaje de solicitud HTTP al servidor a través de su socket. El mensaje de solicitud incluye el nombre de la ruta /unDepartmento/home.index.
  3. El proceso servidor HTTP recibe el mensaje de solicitud a través de su socket, recupera el objeto /unDepartmento/home.index de su medio de almacenamiento (RAM o disco), encapsula el objeto en un mensaje de respuesta HTTP y lo envía al cliente a través de su socket.
  4. El proceso servidor HTTP indica a TCP que cierre la conexión TCP.
  5. El cliente HTTP recibe el mensaje de respuesta. La conexión TCP termina. El mensaje indica que el objeto encapsulado es un archivo HTML. El cliente extrae el archivo del mensaje de respuesta, examina el archivo HTML y encuentra las referencias a los 10 objetos JPEG.
  6. Los cuatro primeros pasos se repiten entonces para cada uno de los objetos JPEG referenciados.

En este ejemplo, cuando un usuario solicita la página web, se generan 11 conexiones TCP.

La mayoría de los navegadores abren entre 5 y 10 conexiones TCP en paralelo. El número máximo de conexiones en paralelo puede establecerse en uno, y se establecerán diez conexiones en serie.