Tabla de Contenido
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).
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:
- HTTP 0.9 : soporte de documentos básicos de hipertexto
- HTTP 1.0 : Extensiones para soportar sitios web ricos
- 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
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
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… 🙂