Qué es HTTP Hypertext Transfer Protocol
Qué es HTTP Hypertext Transfer Protocol

HTTP: Hypertext Transfer Protocol

Definición de HTTP
Definición de HTTP

1. Qué es HTTP

El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol, abreviado HTTP) proporciona un estándar de protocolo de red que los navegadores web y los servidores usan para comunicarse. Puedes ver HTTP todos los días porque cuando visitas un sitio web, el protocolo está escrito directamente en la URL (por ejemplo, https://www.ccnadesdecero.es).

HTTP dentro de URL
HTTP dentro de URL

Observe algo sobre esa URL: comienza con “http“. Esa es una señal para el navegador de que necesita usar HTTP para obtener el documento para esa URL.

Este protocolo es similar a otros, como el protocolo de transferencia de archivos (FTP), ya que lo utiliza un programa cliente para solicitar archivos de un servidor remoto. En el caso de HTTP, generalmente es un navegador web que solicita archivos HTML de un servidor web, que luego se muestran en el navegador con texto, imágenes, hipervínculos y activos relacionados.

2. Historia de HTTP

Tim Berners-Lee creó el estándar HTTP inicial a principios de la década de 1990 como parte de su trabajo en la definición de la World Wide Web original. Tres versiones principales se implementaron ampliamente durante la década de 1990:

  1. HTTP 0.9 : soporte de documentos básicos de hipertexto
  2. HTTP 1.0 : Extensiones para soportar sitios web ricos
  3. HTTP 1.1 : desarrollado para abordar las limitaciones de rendimiento de HTTP 1.0, especificado en Internet RFC 2068

La última versión, HTTP 2.0, se convirtió en un estándar aprobado en 2015. Mantiene la compatibilidad con HTTP 1.1 pero ofrece mejoras de rendimiento adicionales.

Si bien el estándar HTTP no cifra el tráfico enviado a través de una red, el estándar HTTPS agrega cifrado a HTTP mediante el uso de Secure Sockets Layer o, más tarde, Transport Layer Security.


3. Cómo funciona HTTP

Cómo funciona HTTP
Cómo funciona HTTP

HTTP es un protocolo de capa de aplicación creado sobre TCP que utiliza un modelo de comunicación cliente-servidor. Los clientes y servidores HTTP se comunican a través de mensajes de solicitud y respuesta. Los tres tipos principales de mensajes HTTP son GET, POST y HEAD.

  • HTTP GET: los mensajes enviados a un servidor contienen solo una URL. Se pueden agregar cero o más parámetros de datos opcionales al final de la URL. El servidor procesa la porción de datos opcional de la URL, si está presente, y devuelve el resultado (una página web o elemento de una página web) al navegador.
  • POST HTTP: los mensajes colocan los parámetros de datos opcionales en el cuerpo del mensaje de solicitud en lugar de agregarlos al final de la URL.
  • HTTP HEAD: las solicitudes funcionan igual que las solicitudes GET. En lugar de responder con el contenido completo de la URL, el servidor devuelve solo la información del encabezado (contenida dentro de la sección HTML).

Una solicitud HTTP puede ser tan corta como dos líneas de texto:

GET /index.html HTTP/1.1
Host: www.ejemplo.com

El navegador inicia la comunicación con un servidor HTTP iniciando una conexión TCP al servidor. Las sesiones de navegación web usan el puerto 80 del servidor de manera predeterminada, aunque en ocasiones se usan otros puertos como el 8080.

La respuesta HTTP comienza de manera similar a la solicitud:

HTTP/1.1 200 OK

Después de establecer una sesión, puedes activar el envío y la recepción de mensajes HTTP visitando la página web.

HTTP es lo que se llama un sistema sin estado. Lo que esto significa es que, a diferencia de otros protocolos de transferencia de archivos como FTP, la conexión HTTP se interrumpe una vez que se ha completado la solicitud. Entonces, después de que su navegador web envía la solicitud y el servidor responde con la página, la conexión se cierra.

4. Solución de problemas de HTTP

Códigos de estado HTTP
Códigos de estado HTTP

Los mensajes transmitidos por HTTP fallan por varias razones:

  • Error de usuario
  • Mal funcionamiento del navegador web o servidor web
  • Errores en la creación de páginas web.
  • Fallas temporales en la red

Cuando ocurren estas fallas, el protocolo captura la causa de la falla e informa un código de error al navegador llamado línea/código de estado HTTP (Ver: Códigos de Estado HTTP: 1xx, 2xx, 3xx, 4xx Y 5xx). Los errores comienzan con un cierto número para indicar qué tipo de error es.

Por ejemplo, los errores con un código de falla que comienza con un cuatro indican que la solicitud de la página no se puede completar correctamente o que la solicitud contiene una sintaxis incorrecta. Como ejemplo, los errores 404 significan que no se puede encontrar la página; algunos sitios web incluso ofrecen divertidas páginas de error 404 personalizadas.

5. HTTP vs. HTTPS

HTTPS (HTTP over SSL o HTTP Secure) es el uso de Secure Sockets Layer (SSL) o Transport Layer Security (TLS) como subcapa bajo la estratificación regular de aplicaciones HTTP. HTTPS cifra y descifra las solicitudes de páginas HTTP de los usuarios, así como las páginas devueltas por el servidor Web. El uso de HTTPS protege contra las interceptaciones y los ataques “man-in-the-middle” (MitM). HTTPS fue desarrollado por Netscape.

Artículos Recomendados:

Puedes consultar más términos en mi diccionario de redes de computadoras.

Si tienes alguna otra duda o término, déjala en los comentarios… 🙂