HTTP: descripción general

El Protocolo de transferencia de hipertexto (HTTP) es un protocolo a nivel de aplicación para sistemas de información hipermedia distribuidos y colaborativos. Esta es la base para la comunicación de datos para la World Wide Web (es decir, Internet) desde 1990. HTTP es un protocolo genérico y sin estado que se puede utilizar para otros fines, así como extensiones de sus métodos de solicitud, códigos de error y encabezados.

Básicamente, HTTP es un protocolo de comunicación basado en TCP / IP, que se utiliza para entregar datos (archivos HTML, archivos de imagen, resultados de consultas, etc.) en la World Wide Web. El puerto predeterminado es TCP 80, pero también se pueden usar otros puertos. Proporciona una forma estandarizada para que las computadoras se comuniquen entre sí. La especificación HTTP especifica cómo se construirán y enviarán los datos de solicitud de los clientes al servidor, y cómo los servidores responderán a estas solicitudes.

Caracteristicas basicas

Hay tres características básicas que hacen de HTTP un protocolo simple pero poderoso:

  • HTTP is connectionless:El cliente HTTP, es decir, un navegador inicia una solicitud HTTP y después de que se realiza una solicitud, el cliente espera la respuesta. El servidor procesa la solicitud y envía una respuesta, después de lo cual el cliente desconecta la conexión. De modo que el cliente y el servidor se conocen entre sí solo durante la solicitud y la respuesta actuales. Se realizan más solicitudes en la nueva conexión, ya que el cliente y el servidor son nuevos entre sí.

  • HTTP is media independent:Es decir, se puede enviar cualquier tipo de datos por HTTP siempre que tanto el cliente como el servidor sepan cómo manejar el contenido de los datos. Es necesario que el cliente y el servidor especifiquen el tipo de contenido utilizando el tipo MIME apropiado.

  • HTTP is stateless:Como se mencionó anteriormente, HTTP no tiene conexión y es un resultado directo de que HTTP es un protocolo sin estado. El servidor y el cliente se conocen entre sí solo durante una solicitud actual. Luego, ambos se olvidan el uno del otro. Debido a esta naturaleza del protocolo, ni el cliente ni el navegador pueden retener información entre diferentes solicitudes en las páginas web.

HTTP / 1.0 usa una nueva conexión para cada intercambio de solicitud / respuesta, mientras que la conexión HTTP / 1.1 se puede usar para uno o más intercambios de solicitud / respuesta.

Arquitectura básica

El siguiente diagrama muestra una arquitectura muy básica de una aplicación web y describe dónde se encuentra HTTP:

El protocolo HTTP es un protocolo de solicitud / respuesta basado en la arquitectura basada en cliente / servidor donde los navegadores web, robots y motores de búsqueda, etc. actúan como clientes HTTP y el servidor web actúa como servidor.

Cliente

El cliente HTTP envía una solicitud al servidor en forma de método de solicitud, URI y versión de protocolo, seguida de un mensaje similar a MIME que contiene modificadores de solicitud, información del cliente y posible contenido del cuerpo a través de una conexión TCP / IP.

Servidor

El servidor HTTP responde con una línea de estado, que incluye la versión del protocolo del mensaje y un código de éxito o error, seguido de un mensaje similar a MIME que contiene información del servidor, metainformación de la entidad y posible contenido del cuerpo de la entidad.