Fundamentos y Arquitectura del Protocolo HTTP en la World Wide Web
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 6,31 KB
Introducción a HTTP y la World Wide Web (WWW)
El protocolo HTTP (HyperText Transfer Protocol) fue creado en 1990 en el CERN para compartir datos científicos y es el principal medio de intercambio de información en la World Wide Web (WWW). Funciona en un modelo Cliente/Servidor, permitiendo la transferencia de recursos como documentos, imágenes, vídeos y aplicaciones. La WWW es un servicio basado en HTTP que permite acceder a millones de recursos electrónicos mediante hiperenlaces y está regulado por el W3C (World Wide Web Consortium).
Identificación de Recursos Web (URI, URL, URN)
Dentro de los componentes y el funcionamiento de HTTP, los recursos son todos aquellos elementos accesibles a través de servidores web y conectados mediante hiperenlaces. Los nombres y direcciones en la web se identifican mediante URIs (Uniform Resource Identifier), que pueden ser:
- URLs (Uniform Resource Locator): Si incluyen información sobre la ubicación del recurso.
- URNs (Uniform Resource Name): Si solo identifican el recurso sin indicar su localización.
Una URL consta de varios elementos clave: un protocolo (http, https, ftp, etc.), un separador (://), el servidor (dirección IP o dominio FQDN), la ruta del recurso y el nombre del recurso.
Arquitectura Cliente/Servidor
Servidores Web
Los servidores web son programas que atienden peticiones HTTP, procesan e interpretan código en diferentes lenguajes y envían los recursos solicitados a los clientes. Estos servidores pueden entregar contenido estático (documentos, audios, imágenes) o dinámico (generado mediante programación). Ejemplos de servidores web incluyen Apache HTTP Server, IIS y Nginx, que funcionan en el puerto 80/TCP por defecto.
Clientes Web (Navegadores)
Los clientes web, también conocidos como navegadores (Chrome, Firefox, ...), permiten a los usuarios acceder a recursos en la web introduciendo URLs y visualizando los resultados. Estos navegadores gestionan caché y autenticaciones, pero a veces presentan problemas de compatibilidad debido a que algunos no cumplen completamente con los estándares del W3C.
Intermediarios de Red: Proxies Web
Los proxies web actúan como intermediarios entre el cliente y el servidor. Existen dos tipos principales según su ubicación:
- Proxies locales: Usados por el propio usuario para gestionar el tráfico y mantener el anonimato.
- Proxies de red (externos): Implementados por terceros para control de tráfico, caché, bloqueo de contenido y compartir IPs.
En cuanto a su comportamiento, un proxy directo recibe la petición del cliente y la traslada al servidor web, mientras que un proxy inverso recibe la solicitud y la redirige al servidor HTTP interno, actuando como intermediario en la gestión del tráfico.
Funcionamiento del Protocolo HTTP
El protocolo HTTP define las reglas para la comunicación entre clientes, servidores y proxies. Su última versión es HTTP/3 (lanzada en 2018).
Su funcionamiento básico implica la siguiente secuencia:
- El usuario introduce una URL.
- El navegador establece una conexión TCP.
- El navegador envía una petición HTTP.
- El servidor responde con una respuesta HTTP.
- Finalmente, se cierra la conexión TCP.
Mensajes y Métodos HTTP
Los mensajes HTTP pueden ser de petición, donde se incluyen métodos como GET, POST, PUT, DELETE, una URL y cabeceras con información adicional, o de respuesta, donde el servidor devuelve el código de estado de la solicitud y los recursos requeridos.
Códigos de Estado HTTP
Los códigos de estado HTTP están divididos en cinco categorías principales:
- 1xx (Informativos): Indican que la petición ha sido recibida y el proceso continúa.
- 2xx (Éxito): Por ejemplo, 200 OK.
- 3xx (Redirecciones): Por ejemplo, 302 Found y 304 Not Modified.
- 4xx (Errores del Cliente): Por ejemplo, 400 Bad Request y 404 Not Found.
- 5xx (Errores del Servidor): Por ejemplo, 500 Internal Server Error y 503 Service Unavailable.
Seguridad y Funcionalidades Adicionales
HTTPS y Seguridad
Para mejorar la seguridad, HTTPS (HTTP Secure) es una versión cifrada de HTTP que usa TLS/SSL para garantizar la privacidad y protección de datos transmitidos entre cliente y servidor.
Cookies
Otra funcionalidad importante en HTTP son las cookies, pequeños archivos enviados por los servidores y almacenados en los navegadores para recordar sesiones y preferencias del usuario. Pueden contener nombre, valor, fecha de expiración, ruta y dominio, y se usan para autenticación, almacenamiento de preferencias y seguimiento de usuarios, aunque pueden suponer riesgos de seguridad como el Session Hijacking.
Extensiones MIME
MIME (Multipurpose Internet Mail Extensions) es un conjunto de especificaciones que permiten intercambiar diferentes tipos de recursos en Internet, como texto, imágenes, audio y vídeo. Algunos ejemplos de tipos MIME incluyen:
text/html(documentos web)image/gif(imágenes)audio/x-mpeg(archivos de sonido)multipart/form-data(archivos adjuntos en formularios)
Las cabeceras HTTP relacionadas con MIME incluyen MIME-Version (versión usada), Content-Type (tipo de recurso) y Content-Transfer-Encoding (codificación del contenido), entre otras.