Introducción al protocolo HTTP

Despliegue de Aplicaciones Web

José Juan Sánchez Hernández

Curso 2023/2024



1 ¿Qué es el protocolo HTTP?

HTTP es un protocolo de la capa de aplicación que establece las reglas que deben seguir un cliente y un servidor para comunicarse en la web (World Wide Web). Su principal objetivo es permitir que los usuarios soliciten y recuperen recursos, como páginas web, imágenes y archivos, desde servidores en la web.

2 Cliente-Servidor

En las comunicaciones HTTP existen dos roles principales:

3 ¿Qué puerto utiliza HTTP?

El protocolo HTTP utiliza el puerto 80, mientras que el protocolo HTTPS utiliza el puerto 443.

4 Peticiones y Respuestas

La comunicación en el protocolo HTTP se basa en un modelo basado en peticiones y respuestas:

4.1 Ejemplo de petición (Request)

GET /index.html HTTP/1.1
Host: www.iescelia.org
User-Agent: MiNavegador/1.0
Accept: text/html

En este ejemplo aparecen los siguientes elementos:

4.2 Ejemplo de respuesta (Response)

HTTP/1.1 200 OK
Date: Miércoles, 28 de septiembre de 2023 13:30:00 GMT
Server: ServidorEjemplo/1.0
Content-Type: text/html
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Página de Ejemplo</title>
</head>
<body>
    <p>Esta es una página de ejemplo.</p>
</body>
</html>

En la respuesta de ejemplo aparecen los siguientes elementos:

4.3 Ejercicio 1

Utiliza la herramienta curl para realizar una petición HTTP a la página web del IES Celia Viñas. ¿Qué información se muestra en la respuesta?

curl -v https://www.iescelia.org

El parámetro -v habilita el modo verbose del comando curl y muestra información más detallada sobre la petición y la respuesta.

Si queremos omitir el contenido de la respuesta, podemos utilizar el parámetro -I. Este parámetro hará que sólo se muestren las cabeceras.

curl -Iv https://www.iescelia.org

4.4 Ejercicio 2

Utiliza las herramientas para desarrolladores que se se incluyen en los navegadores Google Chrome o Mozilla Firefox para realizar una petición HTTP a la página del IES Celia Viñas y examinar el contenido de las cabeceras (Headers)), peticiones (Request) y respuestas (Response).

5 Métodos HTTP

En el protocolo HTTP se definen diferentes métodos que indican la acción que se debe realizar en una petición. Algunos de los métodos más comunes son:

6 URL y Recursos

Las URL (Uniform Resource Locators) son direcciones que identifican recursos en la web. Una URL típica consta de un esquema (como “http://” o “https://”), un dominio (como “www.iescelia.org”) y una ruta que indica la ubicación del recurso en el servidor.

7 Códigos de estado de las respuestas HTTP

Cada respuesta HTTP incluye un código de estado que indica si la petición se pudo resolver con éxito o no. Existen cinco tipos de códigos de estado:

Imagen 1: Imagen obtenida de ByteByteGo.com.

7.1 Ejercicio:

Busca en Internet el significado del siguiente código de estado HTTP:

Referencias:

8 Encabezados HTTP

El protocolo HTTP utiliza encabezados para transmitir información adicional tanto en las peticiones, como en las respuestas. Los encabezados pueden incluir información sobre el tipo de contenido, la longitud del contenido, la codificación, la autenticación, etc.

9 Versiones del protocolo HTTP

Versión Fecha de publicación Características principales
HTTP/0.9 1991 Se trata de una versión muy sencilla que sólo admite peticiones GET
HTTP/1.0 1996 Se añaden más tipos de peticiones: GET, POST, HEAD y PUT
HTTP/1.1 1997 Incluye mejoras de rendimiento, como la caché y conexiones persistentes
HTTP/2 2015 Incluye mejoras de rendimiento, como la multiplexación y la compresión de cabeceras
HTTP/3 2018 Utiliza el protocolo UDP para mejorar el rendimiento y la seguridad

9.1 Evolución del protocolo HTTP

Imagen 2: Imagen obtenida de ByteByteGo.com.

Referencia:

10 Referencias

11 Licencia

Licencia de Creative Commons
Esta página forma parte del curso Despliegue de Aplicaciones Web de José Juan Sánchez Hernández y su contenido se distribuye bajo una licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.