Estamos acostumbrados a que todo funcione con normalidad en la web, pero es tal su complejidad que en alguna ocasión nos encontraremos con uno de los muchos códigos de estado HTTP disponibles. ¿Qué significan?
Internet es una red de redes mundial que ofrece cientos de servicios diferentes. Uno de ellos es la World Wide Web (WWW), las páginas web, a las que podemos acceder en la actualidad desde prácticamente cualquier dispositivo conectado y que nos muestra toda clase de contenido, desde texto hasta imágenes, vídeos, audio, etc.
Para acceder a las páginas web utilizamos una tecnología que tenemos tan asumida que nunca pensamos en ella. El HTTP, acrónimo de HyperText Transfer Protocol o protocolo de transferencia de hipertexto, es una serie de normas y reglas que permiten que servidores, clientes y proxies se comuniquen correctamente para servir o acceder a páginas web tal y como hacemos a diario.
Como anécdota, el HTTP nació en 1991, y desde 2015 la última versión es la 2. Es posible que hayas oído hablar de HTTP últimamente porque muchos piden que utilicemos una versión más segura de este protocolo, el HTTPS (Hypertext Transfer Protocol Secure o protocolo seguro de transferencia de hipertexto), que cifra la conexión entre cliente y servidor.
Entre sus muchas características, el protocolo que hace posible el acceso a páginas web cuenta con unos códigos de estado. Conocidos como códigos de estado HTTP, algunos de ellos los verás en tu navegador cuando ocurre un error. Otros, menos populares, sólo los verás si le preguntas directamente al servidor vía línea de comandos.
Los códigos de estado HTTP se dividen en cinco grupos, de acuerdo a su numeración. Empecemos por los más populares, los errores de cliente y los errores de servidor, y luego ya veremos los que no son tan populares pero que no está de más conocer.
Errores de cliente: Error 400 en adelante
Seguramente te suene el error 404. Es uno de los códigos de estado HTTP más populares, lamentablemente, y significa que la página que has escrito en la barra de direcciones no existe. Pero hay más.
Los errores 4xx significan que el cliente ha errado la petición al servidor, bien porque has escrito mal la dirección o por un problema de tu navegador o de tu conexión a internet. Veamos los códigos más populares.
- 400 Bad Request: La solicitud contiene sintaxis errónea.
- 401 Unauthorized y 403 Forbidden: Cuando intentas acceder a una página web mediante usuario y contraseña pero no tienes permisos suficiente para ello.
- 404 Not Found: Recurso no encontrado. O bien tecleaste mal la dirección o bien esa página fue eliminada del servidor donde estaba alojada.
- 408 Request Timeout: Suele ocurrir al demorarse la petición de acceso a una página.
- 410 Gone: El recurso solicitado no está disponible. Sirve cuando se ha eliminado un elemento, pero habitualmente vemos más el código 404.
- 451 Unavailable for Legal Reasons: El contenido fue eliminado a petición judicial o como consecuencia de la sentencia de un tribunal.
Errores de servidor: Error 500 en adelante
Los errores 5xx tienen que ver con el servidor que hospeda las páginas web a las que queremos acceder. Junto con los códigos de estado HTTP 4xx, son los que más vemos en nuestro navegador web.
- 500 Internal Server Error: Cuando una aplicación o servicio no funcionan por motivos ajenos al servidor.
- 501 Not Implemented: El servidor no soporta una funcionalidad necesaria para satisfacer la petición del cliente. Puede ocurrir con servidores antiguos o desactualizados.
- 503 Service unavailable: El servidor no puede satisfacer la petición porque está congestionado (demasiadas peticiones) o está ocupado con tareas de mantenimiento.
- 507 Insufficient Storage: Te lo puedes encontrar en un servidor privado cuando no hay espacio suficiente de almacenamiento.
- 509 Bandwidth Limit Exceeded: Parecido al anterior, tiene que ver con el ancho de banda empleado.
Respuestas informativas: Códigos 100 a 103
Los códigos de estado HTTP más básicos son los correspondientes al 100 a 103. Simplemente informan, por lo que no solemos verlos en nuestro navegador.
- 100 Continue: Cuando se realiza una petición, el servidor indica que el navegador puede seguir adelante.
- 101 Switching Protocols: El servidor acepta el cambio de protocolo que propone el navegador (se refiere a la versión de HTTP, 1.0, 1.1 o 2.0)
- 102 Processing: El servidor está procesando la petición (cuando ésta requiere más tiempo del habitual).
- 103 Checkpoint: Se reanuda una petición cancelada previamente.
Peticiones correctas: Códigos 200 en adelante
Similares a los anteriores, estos códigos de estado HTTP se centran en las peticiones del navegador (cliente) al servidor.
- 200 Ok: Respuesta estándar para peticiones correctas.
- 202 Accepted: Petición aceptada en proceso.
- 204 No Content: Petición aceptada pero que no ofrece contenido.
Redirecciones: Códigos 300 en adelante
- 300 Multiple Choices: Sirve para indicar que el navegador puede elegir el formato de vídeo o extensión de archivos que se pide al servidor.
- 301 Moved Permanently: La petición debe ir a una dirección específica (que se indica en el navegador).
- 302 Found: El código 3xx más popular. Simplemente indica que ha encontrado una alternativa viable a la petición inicial.
- 304 Not Modified: La petición no ha sido modificada desde la última vez que se hizo.
Encontrarás todos los códigos de estado HTTP en este enlace de Wikipedia.