Cómo se organizan los códigos de estado HTTP
Los códigos HTTP se agrupan en cinco categorías según su primer dígito:
- 1xx (Informativos): la solicitud fue recibida y el proceso continúa.
- 2xx (Éxito): la solicitud se procesó correctamente.
- 3xx (Redirección): se necesita una acción adicional para completar la solicitud, normalmente ir a otra URL.
- 4xx (Error del cliente): la solicitud contiene un error o no puede procesarse tal como fue enviada.
- 5xx (Error del servidor): el servidor falló al procesar una solicitud aparentemente válida.
Códigos informativos (1xx)
100 – Continuar: respuesta provisional que indica que la solicitud inicial fue recibida correctamente y el servidor está listo para recibir más datos. Es común en solicitudes grandes, como cargas de archivos. Generalmente no requiere intervención; si persiste de forma anómala, revisa límites de tamaño de solicitud o reinicia la conexión.
101 – Cambio de protocolo: indica que el servidor acepta cambiar el protocolo de comunicación solicitado por el cliente, por ejemplo de HTTP a HTTPS. Si el cambio falla, verifica que el servidor tenga instalado el certificado SSL necesario y que ambos protocolos sean compatibles.
102 – Procesando: el servidor está trabajando en una solicitud que toma tiempo (subida de archivos grandes, consultas complejas) y aún no puede devolver un resultado. Si tarda excesivamente, puede ser señal de sobrecarga del servidor o de que conviene optimizar la consulta o el proceso subyacente.
Códigos de éxito (2xx)
200 – OK: la respuesta más común y deseada. Indica que la solicitud fue exitosa y el servidor devolvió el recurso pedido sin errores. No requiere ninguna acción.
201 – Creado: se devuelve cuando una solicitud resultó en la creación de un nuevo recurso, como un nuevo registro en base de datos. Si no ves el recurso creado a pesar de recibir este código, revisa los logs del servidor o de la base de datos para confirmar que la operación se completó correctamente.
202 – Aceptado: el servidor recibió la solicitud y la está procesando, pero aún no ha completado la acción (común en tareas en segundo plano, como el envío de un correo). No requiere acción inmediata salvo que el proceso no se complete en el tiempo esperado.
203 – Información no autorizada: el servidor procesó la solicitud, pero la información devuelta proviene de una fuente que no puede validar completamente, frecuente en respuestas de APIs con restricciones de seguridad. Verifica que las credenciales o el token de acceso sean válidos.
204 – Sin contenido: la solicitud fue exitosa, pero no hay contenido que devolver, típico en operaciones de eliminación. Generalmente no requiere corrección.
Códigos de redirección (3xx)
300 – Múltiples opciones: el servidor encontró varias opciones válidas para el recurso solicitado (por ejemplo, distintos idiomas o versiones), y el cliente debe elegir entre ellas. Si aparece de forma inesperada, revisa que las redirecciones estén configuradas correctamente.
301 – Movido permanentemente: el recurso se trasladó de forma permanente a una nueva URL, típico en reorganizaciones de sitio o cambios de dominio. Asegúrate de que las reglas de redirección en .htaccess o en la configuración del servidor web apunten correctamente a la nueva ubicación, y actualiza los enlaces internos cuando sea posible.
302 – Encontrado (redirección temporal): el recurso está temporalmente en otra ubicación, pero la URL original debe seguir usándose en el futuro. Común en redirecciones a páginas de mantenimiento. Si la redirección en realidad es permanente, usa un 301 en su lugar para no perder señales de SEO.
303 – Ver otra: indica que el cliente debe realizar una nueva solicitud GET a una URL distinta, habitual después de un envío de formulario exitoso (por ejemplo, tras completar un pago).
Errores del cliente (4xx)
400 – Solicitud incorrecta: el servidor no puede procesar la solicitud por un error en su formato: sintaxis incorrecta en la URL, parámetros mal formados, etc. Verifica el formato de la URL y la validez de todos los parámetros enviados.
401 – No autorizado: el cliente no está autenticado correctamente para acceder al recurso. Revisa que las credenciales sean correctas y que el flujo de autenticación (tokens, OAuth, etc.) esté bien configurado.
402 – Pago requerido: código reservado para plataformas que exigen un pago para acceder a un recurso, común en servicios de suscripción. Si aparece sin razón aparente, revisa la lógica de control de acceso vinculada al estado de pago del usuario.
403 – Prohibido: el servidor entendió la solicitud, pero se niega a autorizarla por restricciones de seguridad, falta de permisos, o reglas de firewall. Revisa permisos de archivos, reglas en .htaccess, y configuración de firewall que pueda estar bloqueando el acceso.
404 – No encontrado: el código más conocido, indica que el servidor no encontró el recurso solicitado, ya sea por una URL mal escrita o porque el contenido fue eliminado o movido sin actualizar los enlaces. Configura una redirección 301 desde la URL antigua hacia la nueva si el contenido cambió de ubicación, y confirma que no esté bloqueado accidentalmente por robots.txt.
405 – Método no permitido: el método HTTP usado (GET, POST, PUT, DELETE) no está permitido para ese recurso específico. Ajusta la configuración del servidor o del endpoint para aceptar únicamente los métodos correctos.
406 – No aceptable: el servidor no puede satisfacer la solicitud según el formato de contenido indicado en el encabezado Accept. Revisa que el tipo de contenido solicitado por el cliente sea uno que el servidor efectivamente soporte.
407 – Autenticación de proxy requerida: el proxy utilizado exige autenticación antes de continuar con la solicitud, común en redes corporativas. Verifica que el cliente cuente con las credenciales correctas para el proxy.
408 – Tiempo de espera agotado: el cliente no completó su solicitud dentro del tiempo esperado por el servidor, generalmente por una conexión lenta o inestable. Si el problema es recurrente, considera aumentar los tiempos de espera del servidor o mejorar la infraestructura de red.
409 – Conflicto: la solicitud no puede procesarse porque entra en conflicto con el estado actual del recurso, como intentar actualizar un archivo que cambió desde la última consulta. Implementar control de versiones sobre los recursos afectados suele resolver este tipo de conflictos.
410 – Ya no disponible (Gone): a diferencia del 404, este código indica que el recurso fue eliminado deliberada y permanentemente, sin intención de que vuelva a existir. Útil para depurar contenido obsoleto de forma explícita ante buscadores.
411 – Longitud requerida: el servidor exige que la solicitud especifique la longitud del contenido (encabezado Content-Length), pero no fue proporcionada. Asegúrate de que las solicitudes POST o PUT incluyan este encabezado.
Errores del servidor (5xx)
500 – Error interno del servidor: código genérico que indica que el servidor encontró un error inesperado sin poder especificar más detalles. Revisa los logs del servidor para identificar la causa exacta: errores de programación en el backend, problemas de conexión con la base de datos, o configuración incorrecta.
501 – No implementado: el servidor no soporta la funcionalidad necesaria para procesar la solicitud, a menudo porque no reconoce el método HTTP utilizado. Verifica que el servidor esté configurado para aceptar ese método específico.
502 – Bad Gateway: un servidor actuando como proxy o gateway recibió una respuesta inválida del servidor de origen. Suele deberse a que el servidor backend está caído o hay una configuración incorrecta entre el proxy y el servidor de destino.
503 – Servicio no disponible: el servidor está temporalmente sobrecargado o en mantenimiento y no puede procesar la solicitud. Si es mantenimiento planeado, muestra una página amigable al respecto; si es sobrecarga, evalúa aumentar recursos del servidor o distribuir la carga entre varios.
504 – Tiempo de espera del gateway agotado: un servidor gateway o proxy no recibió respuesta a tiempo de otro servidor backend. Verifica el estado y la estabilidad de red del servidor de destino, y ajusta los tiempos de espera configurados en el proxy si el problema persiste.
Códigos personalizados (6xx y superiores)
Algunas aplicaciones y frameworks definen códigos por encima del rango estándar (6xx en adelante) para representar errores propios que no encajan en las categorías tradicionales de HTTP. Estos códigos deben interpretarse según la documentación específica de la aplicación o servidor que los genera; revisa siempre sus logs y configuración particular para entender su significado exacto.
Los códigos de estado HTTP son mucho más que números crípticos: cada uno cuenta una historia específica sobre lo que ocurrió entre el navegador y el servidor. Entender esta clasificación —informativos, éxito, redirección, error del cliente y error del servidor— te permite diagnosticar problemas de forma mucho más rápida y precisa, ya seas desarrollador, administrador de sistemas o simplemente quieras entender mejor por qué tu sitio muestra un error específico. Si tienes dudas durante la implementación, nuestro equipo de soporte técnico está disponible 24/7 para ayudarte.
Hosting con LiteSpeed, NVMe y soporte 24/7 desde $3/mes.