FUNDAMENTOS DE LA WEB

De una dirección a una página.

DNS encuentra direcciones. HTTP permite solicitar recursos. HTTPS protege la comunicación. Sigue el recorrido y prueba qué pasa cuando cambia una respuesta.

1. Sigue una visita, paso a paso

Ejemplo local simulado: https://pokeatlas.test/index.html. El dominio y la IP son de ejemplo; no se hacen consultas DNS ni peticiones reales.

Configura la visita

Paso 1 de 6: URL

El navegador interpreta la dirección

Identifica el protocolo, el nombre del servidor y el recurso solicitado. El dominio es pokeatlas.test; la ruta es /index.html.

https://pokeatlas.test/index.html

Una dirección no es el archivo en tu ordenador: indica cómo y dónde pedirlo.

Recorrido simplificado: las cachés, las conexiones reutilizadas, los intermediarios y las versiones del protocolo pueden cambiar el trabajo necesario en una visita real.

2. Lee una URL antes de usarla

URL significa localizador uniforme de recursos. El dominio es solo una parte.

https://pokeatlas.test:443/pokedex.html?region=kanto#resultados
Esquema · https
Indica cómo acceder al recurso.
Nombre del servidor · pokeatlas.test
Nombre que puede resolverse mediante DNS. Una URL también puede utilizar una IP.
Puerto · 443
Identifica el servicio del destino. Si se omite, se usa el predeterminado del esquema.
Ruta · /pokedex.html
Identifica el recurso; no tiene que corresponder a un archivo físico.
Consulta · ?region=kanto
Transporta parámetros. Su significado lo define la aplicación.
Fragmento · #resultados
Lo interpreta el navegador, por ejemplo para ir a una sección. No se envía al servidor en la petición HTTP.

3. DNS: del nombre a la dirección

Domain Name System es un sistema distribuido y jerárquico. Permite consultar registros asociados a nombres.

  1. Se comprueba la caché

    El navegador, el sistema o el resolvedor pueden tener información reutilizable. La caché evita repetir trabajo.

  2. El resolvedor busca una respuesta

    Si necesita buscarla, puede consultar la jerarquía DNS: raíz, dominio de nivel superior y servidores autoritativos.

  3. Se obtiene el registro

    Un registro A contiene una dirección IPv4; AAAA, una IPv6. Un nombre puede tener varias direcciones.

Registros DNS frecuentes
Registro Para qué sirve Cuándo lo encuentras
A Asocia un nombre con una IPv4. Conectar un dominio a un servidor.
AAAA Asocia un nombre con una IPv6. Publicar un servicio con IPv6.
CNAME Indica un alias de otro nombre. Apuntar un subdominio al nombre de un proveedor.
MX Indica servidores de correo. Configurar el correo del dominio.
TXT Contiene información de texto. Verificar un dominio o publicar políticas de correo.

TTL: indica cuánto tiempo puede conservarse un registro en caché. Un cambio DNS puede tardar en verse porque todavía hay respuestas anteriores guardadas; no existe una espera universal idéntica para todos.

En tu proyecto: el dominio es el nombre; el hosting sirve los recursos; los registros DNS conectan ese nombre con el destino. Ninguno sustituye a index.html.

Referencia: DNS en MDN

4. HTTP: petición y respuesta

Hypertext Transfer Protocol organiza el intercambio entre cliente y servidor. También se utiliza para solicitar datos de APIs.

La petición

Incluye método, destino y cabeceras. Algunos métodos permiten enviar un cuerpo.

POST /api/comentarios HTTP/1.1
Host: pokeatlas.test
Content-Type: application/json

{"texto":"Mi Pokémon favorito es Eevee"}

La respuesta

Incluye estado y cabeceras; según el caso, también un cuerpo. Content-Type describe el formato.

HTTP/1.1 201 Created
Content-Type: application/json

{"id":42,"texto":"Mi Pokémon favorito es Eevee"}

El ejemplo de comentarios es ficticio. No hay un servidor que guarde comentarios en estos proyectos.

Métodos: qué intención expresa cada petición
Método Uso habitual Ejemplo
GET Solicitar una representación. Leer una ficha de Pokémon.
POST Enviar datos para que el servidor los procese. Crear un comentario.
PUT Crear o reemplazar el recurso de una dirección. Reemplazar un perfil completo.
PATCH Aplicar cambios parciales. Modificar un apodo.
DELETE Solicitar la eliminación de un recurso. Borrar un comentario.

La API define qué métodos admite cada ruta. Usar POST no cifra los datos; la protección del transporte corresponde a HTTPS.

Estados que conviene reconocer
Grupo Estado Lectura práctica
2xx · Éxito 200 / 201 / 204 Solicitud atendida / recurso creado / respuesta sin contenido.
3xx · Redirección o caché 301 / 302 / 304 Otra dirección permanente / temporal / reutilizar la representación almacenada.
4xx · Problema con la solicitud 401 / 403 / 404 / 429 Autenticación requerida / acceso rechazado / recurso no encontrado / demasiadas solicitudes.
5xx · Problema del servidor 500 / 503 Error interno / servicio temporalmente no disponible.

Relación con JavaScript: fetch() no rechaza automáticamente su promesa por una respuesta 404 o 500. Comprueba response.ok o response.status antes de leer los datos.

const response = await fetch("https://pokeapi.co/api/v2/pokemon/25");
if (!response.ok) {
  throw new Error(`Respuesta HTTP: ${response.status}`);
}
const pokemon = await response.json();
console.log(pokemon.name);

Este bloque es un ejemplo para estudiar. Practica fetch en el laboratorio JavaScript.

Referencia: mensajes HTTP · Referencia: estados HTTP

APRENDE A DIAGNOSTICAR

404 y otros errores HTTP

Abre cada código para conocer su significado, un caso cotidiano y qué revisar. Los códigos describen una respuesta: por sí solos no explican toda la causa del fallo.

Las cinco familias: 1xx informa del progreso; 2xx indica éxito; 3xx trata redirecciones o validación de caché; 4xx señala un problema con la solicitud; 5xx señala un fallo del servidor. Un 301 o un 304 no es un error.

400 · Bad Request

La solicitud tiene un formato inválido.

Ejemplo: Envías un cuerpo JSON mal formado.

Qué revisar: Revisa parámetros, cuerpo y documentación de la API.

401 · Unauthorized

Falta una autenticación válida.

Ejemplo: El token de acceso caducó.

Qué revisar: Comprueba la sesión o credenciales sin publicarlas.

403 · Forbidden

El servidor rechaza el acceso.

Ejemplo: Tu cuenta no tiene permiso para esa ruta.

Qué revisar: Revisa permisos y restricciones; repetir el inicio de sesión puede no resolverlo.

404 · Not Found

No se encuentra el recurso solicitado; el estado no aclara si es temporal o permanente.

Ejemplo: La página /contacto.html no existe.

Qué revisar: Revisa URL, nombre de archivo, mayúsculas y ruta de publicación.

405 · Method Not Allowed

La ruta no admite el método utilizado.

Ejemplo: Haces POST a una ruta que solo permite GET.

Qué revisar: Consulta la cabecera Allow y los métodos de la API.

408 · Request Timeout

El servidor no recibió la solicitud completa a tiempo.

Ejemplo: La conexión se interrumpe mientras se envía.

Qué revisar: Revisa la conexión; evita duplicar operaciones al reintentar.

409 · Conflict

La operación entra en conflicto con el estado actual del recurso.

Ejemplo: Guardas una versión antigua de un documento.

Qué revisar: Actualiza los datos y resuelve el conflicto antes de enviar de nuevo.

410 · Gone

El recurso ya no está disponible y se considera una situación probablemente permanente.

Ejemplo: Se retiró una página definitivamente.

Qué revisar: Actualiza los enlaces y busca una alternativa.

413 · Content Too Large

El contenido enviado supera el tamaño permitido.

Ejemplo: Subes un archivo demasiado grande.

Qué revisar: Reduce el archivo o revisa el límite del servidor.

415 · Unsupported Media Type

El formato enviado no está admitido.

Ejemplo: La API espera JSON y recibe otro tipo de contenido.

Qué revisar: Revisa Content-Type y el formato real del cuerpo.

422 · Unprocessable Content

El formato se entiende, pero el contenido no se puede procesar.

Ejemplo: Un formulario contiene valores que incumplen las reglas.

Qué revisar: Lee los detalles de validación y corrige los campos.

429 · Too Many Requests

Se enviaron demasiadas solicitudes en un período.

Ejemplo: Una búsqueda consulta la API en cada pulsación.

Qué revisar: Reduce la frecuencia y respeta Retry-After cuando exista.

500 · Internal Server Error

Un fallo inesperado impide completar la solicitud.

Ejemplo: El código del servidor falla al guardar.

Qué revisar: Revisa los registros del servidor; el navegador no revela la causa exacta.

501 · Not Implemented

El servidor no soporta la funcionalidad necesaria.

Ejemplo: El servidor no reconoce o no implementa un método.

Qué revisar: Revisa las capacidades del servidor y la documentación.

502 · Bad Gateway

Un intermediario recibió una respuesta inválida del servidor de origen.

Ejemplo: El proxy no obtiene una respuesta válida de la aplicación.

Qué revisar: Revisa el servicio de origen y la configuración del proxy.

503 · Service Unavailable

El servicio no puede atender ahora la petición.

Ejemplo: Mantenimiento o sobrecarga temporal.

Qué revisar: Espera según Retry-After si se incluye y comprueba el servicio.

504 · Gateway Timeout

Un intermediario no recibió a tiempo la respuesta del servidor de origen.

Ejemplo: La aplicación tarda demasiado en responder al proxy.

Qué revisar: Revisa tiempos, servicios dependientes y registros.

¿Es HTTP o es otro tipo de error?

Revisa un 404 paso a paso

  1. Abre las herramientas del navegador y la pestaña Network (Red).
  2. Recarga la página y selecciona la petición con estado 404.
  3. Comprueba la URL completa, método y respuesta: puede fallar el HTML, una imagen, el CSS o una API.
  4. Corrige la ruta o el recurso y vuelve a comprobar. En producción, revisa también las reglas del alojamiento.

HTML no establece el estado HTTP: escribir «404» en una página no convierte una respuesta 200 en 404. El servidor o la plataforma de alojamiento debe enviar el estado correcto. Una página de error útil puede ofrecer un enlace al inicio y una explicación clara.

Prueba 404 y 500 en la simulación · Relacionarlo con HTML y SEO

Fuente: MDN: códigos de estado HTTP.

5. HTTPS protege el intercambio

HTTPS utiliza HTTP sobre una conexión protegida con TLS.

Qué aporta

  • Cifrado de los datos durante el transporte.
  • Protección de la integridad del intercambio.
  • Autenticación del servidor mediante su certificado.

Qué debes distinguir

HTTPS no garantiza que todo el contenido sea verdadero ni que el negocio sea fiable. Tampoco cambia el significado de los métodos y estados HTTP.

Un formulario, una API y los recursos de una página publicada deberían usar conexiones HTTPS.

Referencia: HTTPS en MDN

6. Encuentra dónde falla

Observa el error antes de cambiar tu HTML, CSS o JavaScript.

Un síntoma, una primera comprobación
Síntoma Comprueba
El nombre no se resuelve Dominio escrito, conexión y registros DNS. Todavía puede no existir una respuesta HTTP.
Conexión rechazada Servidor encendido, dirección y puerto. No es lo mismo que un 404.
Error de certificado Nombre, vigencia y configuración HTTPS del servidor.
CSS o imagen con 404 Ruta, extensión, mayúsculas y archivo publicado.
API con 500 Estado del servicio y registros del servidor si lo administras.
Error CORS Permisos de origen de la respuesta. No se arregla añadiendo etiquetas HTML.
  1. Abre las herramientas del navegador

    Entra en la pestaña Network / Red y recarga la página.

  2. Elige un recurso

    Examina su dirección, método, estado, tipo, tiempo y cabeceras.

  3. Lee la respuesta

    Comprueba si recibiste HTML, JSON, un mensaje de error o una respuesta desde caché.

En PokéAtlas, compara la carga de index.html con la petición a pokeapi.co. Son servidores y recursos diferentes.

7. Comprueba lo aprendido

Responde y revisa la explicación. Puedes repetir la actividad.

¿Qué hace DNS en este recorrido?
Recibes un 404. ¿Qué sabes?