En el ámbito de Internet, HTTP (Hypertext Transfer Protocol, protocolo de transferencia de hipertexto), es el protocolo de comunicaciones que se utiliza en la web. Fue desarrollado por el W3C y la IETF en 1999, y define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse entre sí.
Qué es HTTP
El protocolo HTTP (Hyper Text Transfer Protocol, protocolo de transferencia de hipertexto), es el protocolo utilizado en cada transacción en la web, WWW o World Wide Web.
Este protocolo fue creado por el W3C (World Wide Web Consortium) y la IETF (Internet Engineering Task Force) en 1999, y publicado en una serie de RFC (Request For Comments, petición de comentarios), el más importante de los cuales es el RFC 2616 donde se especifica la versión 1.1 de HTTP.
En estos estándares web se definió la sintaxis y la semántica utilizada por los elementos de software de la arquitectura web, mediante la cual se comunican clientes, servidores y proxies.
HTTP es un protocolo orientado a transacciones que responde a una arquitectura cliente-servidor, por lo que sigue el esquema petición-respuesta entre el cliente y el servidor:
- El cliente que efectúa la petición se denomina "user agent" (agente del usuario), como puede ser un navegador web o un spider.
- El servidor web es un software que atiende las peticiones de los cliedtes.
- La información transmitida se denomina recurso y se identifica mediante una URL (Uniform Resource Locator, localizador uniforme de recursos).
Dado que HTTP es un protocolo sin estado, no guarda ninguna información sobre las conexiones anteriores. Para que las aplicaciones web puedan mantener el estado se emplean las cookies, pequeños archivos que el servidor envía al navegador cliente y que éste almacena en la computadora de usuario por tiempo indeterminado, que contienen información que permite a las aplicaciones web establecer el concepto de sesión y rastrear usuarios.
Básicamente, una transacción HTTP está formada por la petición del cliente y la respuesta del servidor:
- La petición del cliente web especifica cosas como la acción requerida del servidor, el tipo de dato retornado, el código de estado, tipos MIME que el cliente acepta o el navegador que utiliza el cliente para realizar la petición, así como información que permite la autenticación, cifrado e identificación de usuario.
- En su respuesta, el servidor envía al cliente un código de estado que indica si la petición fue correcta, el código de error si la petición no se realizó de forma correcta, información sobre el objeto que se retorna y la información propiamente dicha, que puede consistir en documentos de todo tipo y formato, tanto textos como gráficos, audio o video.
Respecto a las versiones de HTTP, la versión actual es la 1.1 desde 1999, encontrándose el desarrollo de la versión 1.2 en fase experimental.