El protocolo HTTP está basado en realizar operaciones de solicitudes y respuesta. Un cliente puede establecer una conexión con un servidor y envía un mensaje con los datos de una solicitud requerida. El servidor responde mediante un mensaje similar que contiene el estado de la operación y un posible resultado. Todas éstas operaciones pueden traer consigo un objeto o recurso sobre el que actúan, donde cada objeto Web se conoce por su URL.
A continuación, una descripción breve de las etapas de una operación HTTP. Cada vez que un cliente realiza una petición a un servidor, ocurre de la siguiente forma:
El usuario ingresa a una URL, seleccionando un enlace de un documento HTML o escribiendo directamente en su navegador. El cliente Web descodifica la URL, separando sus diferentes partes. Así identifica el protocolo de acceso, la dirección DNS o IP del servidor, el posible puerto opcional (el valor por defecto es 80) y el objeto requerido del servidor. Se abre una conexión TCP/IP con el servidor, llamando al puerto TCP correspondiente. Se realiza la petición. Para ello, se envía el comando necesario (GET, POST, HEAD, etc), la dirección del objeto requerido (el contenido de la URL que sigue a la dirección del servidor), la versión del protocolo HTTP empleada (casi siempre HTTP/1.0) y un conjunto variable de información, que incluye datos sobre las capacidades del browser, datos opcionales para el servidor. El servidor devuelve la respuesta al cliente. Esta consiste en un código de estado y el tipo de dato MIME de la información de retorno, seguido de la propia información. Se cierra la conexión TCP.
Este proceso se repite la cantidad de veces que se deba tener acceso al servidor HTTP. Quiere decir que si se accedemos a un documento HTML donde hay insertadas cuatro imágenes, éste proceso debe repetirse cinco veces, una para el documento HTML y cuatro para las imágenes.