Los códigos de estado HTTP son la forma de comunicación de internet entre servidores y clientes. Cada vez que tu navegador solicita una página web, una API hace una llamada o un servidor procesa datos, estos códigos de tres dígitos te dicen exactamente qué sucedió. Comprender estos códigos es esencial para desarrolladores web, especialistas en SEO y cualquier persona que trabaje con tecnologías web.

Esta guía integral cubre todos los códigos de estado HTTP estándar del 100 al 511, organizados por categoría. Cada código de estado incluye explicaciones prácticas, casos de uso del mundo real, orientación de implementación y errores comunes a evitar.

Referencia Rápida de Códigos de Estado HTTP

Código de Estado Nombre Categoría Ir a
100 Continue Informacional Detalles
101 Switching Protocols Informacional Detalles
102 Processing Informacional Detalles
103 Early Hints Informacional Detalles
200 OK Éxito Detalles
201 Created Éxito Detalles
202 Accepted Éxito Detalles
203 Non-Authoritative Information Éxito Detalles
204 No Content Éxito Detalles
205 Reset Content Éxito Detalles
206 Partial Content Éxito Detalles
207 Multi-Status Éxito Detalles
208 Already Reported Éxito Detalles
226 IM Used Éxito Detalles
300 Multiple Choices Redirección Detalles
301 Moved Permanently Redirección Detalles
302 Found Redirección Detalles
303 See Other Redirección Detalles
304 Not Modified Redirección Detalles
305 Use Proxy (Deprecated) Redirección Detalles
307 Temporary Redirect Redirección Detalles
308 Permanent Redirect Redirección Detalles
400 Bad Request Error de Cliente Detalles
401 Unauthorized Error de Cliente Detalles
403 Forbidden Error de Cliente Detalles
404 Not Found Error de Cliente Detalles
405 Method Not Allowed Error de Cliente Detalles
406 Not Acceptable Error de Cliente Detalles
407 Proxy Authentication Required Error de Cliente Detalles
408 Request Timeout Error de Cliente Detalles
409 Conflict Error de Cliente Detalles
410 Gone Error de Cliente Detalles
418 I’m a teapot Error de Cliente Detalles
422 Unprocessable Entity Error de Cliente Detalles
429 Too Many Requests Error de Cliente Detalles
451 Unavailable For Legal Reasons Error de Cliente Detalles
500 Internal Server Error Error de Servidor Detalles
501 Not Implemented Error de Servidor Detalles
502 Bad Gateway Error de Servidor Detalles
503 Service Unavailable Error de Servidor Detalles
504 Gateway Timeout Error de Servidor Detalles
505 HTTP Version Not Supported Error de Servidor Detalles
507 Insufficient Storage Error de Servidor Detalles
508 Loop Detected Error de Servidor Detalles
511 Network Authentication Required Error de Servidor Detalles

Respuestas Informacionales 1xx

Estos códigos indican que la solicitud fue recibida y el proceso está continuando.

¿Qué es un código de estado 100?

HTTP: 100 Continue

Cuándo y por qué los servidores lo devuelven: El servidor está diciendo “Recibí la primera parte de tu solicitud y se ve bien hasta ahora, adelante, envía el resto”. Esto sucede cuando intentas subir algo grande (como un video) y el servidor quiere verificar si tienes permiso para subir antes de que pierdas tiempo enviando el archivo completo.

Casos de uso prácticos: Subir archivos grandes a almacenamiento en la nube donde el servidor verifica si tienes suficiente espacio primero, enviar formularios grandes donde el servidor valida tu inicio de sesión antes de aceptar todos los datos, o cualquier situación donde tenga sentido verificar permisos antes de transferir muchos datos.

Cómo deben responder los clientes a este estado: Tu navegador o aplicación debe comenzar inmediatamente a enviar el resto de los datos. La mayoría de las veces, esto sucede automáticamente detrás de escena, ni siquiera lo notarás.

Usos incorrectos o implementaciones incorrectas: Enviar esto a navegadores antiguos que no lo entienden, enviarlo al azar cuando nadie lo pidió, u olvidar verificar si el cliente realmente quiere este proceso de dos pasos antes de usarlo.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 101?

HTTP: 101 Switching Protocols

Cuándo y por qué los servidores lo devuelven: El servidor acepta cambiar la forma en que se comunica contigo. Es como cambiar de mensajes de texto a una llamada telefónica: pediste actualizar la conexión y el servidor dijo “Claro, hagámoslo”.

Casos de uso prácticos: Cuando una aplicación de chat actualiza de HTTP normal a WebSocket para mensajería en tiempo real, cuando un navegador solicita usar una versión más rápida de HTTP, o cuando cualquier aplicación necesita cambiar a un método de comunicación diferente para mejores funciones.

Cómo deben responder los clientes a este estado: Comenzar inmediatamente a usar el nuevo protocolo de comunicación. Es como cambiar de idiomas a mitad de conversación: una vez que ambos están de acuerdo, comienzan a hablar el nuevo idioma de inmediato.

Usos incorrectos o implementaciones incorrectas: Cambiar sin que se lo pidan, intentar cambiar a algo que el servidor realmente no admite, u olvidar especificar a qué protocolo estás cambiando.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 102?

HTTP: 102 Processing

Cuándo y por qué los servidores lo devuelven: El servidor está diciendo “Todavía estoy trabajando en tu solicitud, no te rindas conmigo”. Esto se usa cuando algo tarda mucho tiempo en procesarse, por lo que el servidor envía este mensaje para evitar que pienses que se bloqueó.

Casos de uso prácticos: Convertir un archivo de video grande a un formato diferente, procesar cientos de archivos a la vez, ejecutar informes complejos que tardan minutos en generarse, o cualquier operación que tarde más de lo habitual en completarse.

Cómo deben responder los clientes a este estado: Seguir esperando pacientemente. El servidor puede enviar varios de estos mensajes de “todavía trabajando” antes de finalmente darte el resultado real. No reintentar la solicitud, eso solo reiniciaría todo el proceso de nuevo.

Usos incorrectos o implementaciones incorrectas: Usar esto para operaciones rápidas que no lo necesitan, enviar demasiados mensajes de “todavía trabajando”, u olvidar enviar la respuesta final después de decir que estás procesando.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 103?

HTTP: 103 Early Hints

Cuándo y por qué los servidores lo devuelven: El servidor te está dando un aviso sobre recursos que probablemente necesitarás pronto. Es como un restaurante que te dice “mientras preparo tu pedido, tal vez quieras tener tus servilletas y cubiertos listos”.

Casos de uso prácticos: Decirle a los navegadores que comiencen a cargar archivos CSS y JavaScript mientras el servidor prepara el HTML, precargar fuentes que la página necesitará, o calentar conexiones a otros servidores que la página usará.

Cómo deben responder los clientes a este estado: Comenzar a cargar los recursos sugeridos en segundo plano mientras esperan la respuesta real. Esto hace que las páginas se sientan más rápidas porque parte del trabajo comienza temprano.

Usos incorrectos o implementaciones incorrectas: Enviar pistas pero nunca enviar la respuesta real, sugerir recursos que realmente no se necesitan, o sobrecargar al cliente con demasiadas pistas de precarga innecesarias.

Documentación de Mozilla.org para referencia adicional


Éxito 2xx

Estos códigos indican que la solicitud fue recibida, entendida y aceptada exitosamente.

¿Qué es un código de estado 200?

HTTP: 200 OK

Cuándo y por qué los servidores lo devuelven: Esta es la respuesta de “todo funcionó perfectamente”. El servidor encontró lo que querías, hizo lo que pediste y aquí está tu resultado. Es el mensaje de éxito más común que verás.

Casos de uso prácticos: Cargar cualquier página web exitosamente, obtener datos de una API, descargar un archivo, enviar un formulario que funcionó correctamente, o básicamente cualquier momento en que una solicitud tiene éxito sin problemas.

Cómo deben responder los clientes a este estado: Usar los datos que regresaron: mostrar la página web, procesar los datos JSON, guardar el archivo o lo que tenga sentido para tu aplicación. Esta es la respuesta “normal” que todo está diseñado para manejar.

Usos incorrectos o implementaciones incorrectas: Decir “200 OK” pero incluir un mensaje de error en la respuesta (confuso!), usar 200 cuando creaste algo nuevo (usa 201 en su lugar), o devolver 200 sin datos cuando se esperaban datos.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 201?

HTTP: 201 Created

Cuándo y por qué los servidores lo devuelven: El servidor creó exitosamente algo nuevo basado en tu solicitud. No es solo “OK”, es específicamente “¡Hice la cosa nueva que pediste!”

Casos de uso prácticos: Crear una nueva cuenta de usuario, publicar un nuevo tweet o actualización de estado, subir un archivo que se guarda como un nuevo recurso, agregar un nuevo producto a un carrito de compras, o cualquier momento en que tu solicitud resulte en algo nuevo que se almacena.

Cómo deben responder los clientes a este estado: Buscar el encabezado Location que generalmente te dice dónde encontrar la cosa recién creada. Podrías redirigir al nuevo recurso o actualizar tu interfaz para mostrar que la creación fue exitosa.

Usos incorrectos o implementaciones incorrectas: Usar 201 cuando actualizas cosas existentes (para eso es 200), olvidar incluir la ubicación del nuevo recurso, o usar 201 cuando realmente no se creó nada.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 202?

HTTP: 202 Accepted

Cuándo y por qué los servidores lo devuelven: El servidor aceptó tu solicitud pero no ha terminado de procesarla todavía. Es como dejar ropa en la tintorería: tomaron tu ropa y te dieron un recibo, pero la limpieza aún no está hecha.

Casos de uso prácticos: Enviar correos electrónicos (aceptados para entrega pero aún no enviados), iniciar una gran exportación de datos que se enviará por correo electrónico cuando esté lista, trabajos de procesamiento de video, o cualquier tarea que se pone en cola para procesamiento posterior.

Cómo deben responder los clientes a este estado: No esperar resultados inmediatos. Necesitarás alguna otra forma de verificar si el trabajo está hecho: tal vez encuestar otro endpoint, esperar un correo electrónico o verificar una notificación de webhook.

Usos incorrectos o implementaciones incorrectas: Usar 202 para cosas que realmente ya se completaron, no proporcionar ninguna forma de verificar el estado más tarde, o usar 202 cuando la tarea podría fallar (sin advertir al cliente sobre esta posibilidad).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 203?

HTTP: 203 Non-Authoritative Information

Cuándo y por qué los servidores lo devuelven: La solicitud tuvo éxito, pero la respuesta ha sido modificada por algo en el medio (como un proxy o caché). Es como jugar al teléfono descompuesto: el mensaje llegó, pero podría haber cambiado ligeramente en el camino.

Casos de uso prácticos: Cuando un proxy de empresa agrega o elimina ciertos encabezados, cuando un servidor de caché modifica respuestas para ahorrar ancho de banda, o cuando los filtros de contenido ajustan lo que ves según políticas.

Cómo deben responder los clientes a este estado: Usar la respuesta normalmente, pero saber que podría no ser exactamente lo que envió el servidor original. Todavía es válida, solo potencialmente modificada.

Usos incorrectos o implementaciones incorrectas: No ser transparente sobre las modificaciones, usar 203 cuando nada fue realmente cambiado, o modificar respuestas de maneras que rompen la funcionalidad.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 204?

HTTP: 204 No Content

Cuándo y por qué los servidores lo devuelven: El servidor hizo exitosamente lo que pediste pero no tiene nada que enviarte de vuelta. Es como eliminar algo exitosamente: la eliminación funcionó, pero no hay nada que mostrarte porque se fue.

Casos de uso prácticos: Eliminar registros, actualizar configuraciones donde no necesitas datos de confirmación de vuelta, guardar preferencias silenciosamente en segundo plano, o cualquier acción exitosa donde un cuerpo de respuesta sería inútil.

Cómo deben responder los clientes a este estado: Tratarlo como éxito pero no esperar datos. Perfecto para solicitudes AJAX donde solo necesitas saber que algo funcionó. La página no debería refrescarse o cambiar a menos que tu JavaScript decida actualizar algo.

Usos incorrectos o implementaciones incorrectas: Incluir datos de respuesta con un 204 (¡eso no está permitido!), usar 204 cuando el cliente probablemente quiere ver los datos actualizados, o usar 204 para errores.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 205?

HTTP: 205 Reset Content

Cuándo y por qué los servidores lo devuelven: El servidor le está diciendo a tu aplicación que limpie su formulario o reinicie su vista. Es como enviar exitosamente una encuesta y hacer que el formulario se limpie automáticamente para la siguiente persona.

Casos de uso prácticos: Después de enviar un formulario de entrada de datos que necesita usarse repetidamente, completar una encuesta que debería reiniciarse para el siguiente encuestado, o cualquier situación donde la interfaz debería volver a su estado inicial después del éxito.

Cómo deben responder los clientes a este estado: Limpiar todos los campos del formulario, reiniciar la vista del documento o devolver la interfaz a su estado original. No vienen datos con esta respuesta, es solo una instrucción para reiniciar.

Usos incorrectos o implementaciones incorrectas: Enviar datos con una respuesta 205 (debería estar vacía), usar 205 cuando realmente no quieres que el formulario se limpie, o usarlo cuando un simple 204 sería mejor.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 206?

HTTP: 206 Partial Content

Cuándo y por qué los servidores lo devuelven: El servidor está enviando solo parte del archivo porque eso es lo que pediste. Es como pedir las páginas 50-60 de un libro en lugar del libro completo.

Casos de uso prácticos: Transmitir video donde puedes saltar a diferentes partes, reanudar descargas interrumpidas desde donde se detuvieron, descargar archivos grandes en fragmentos, o implementar características de “cargar más” de manera eficiente.

Cómo deben responder los clientes a este estado: Procesar el contenido parcial y potencialmente solicitar más partes si es necesario. Los reproductores de video usan esto para buscar, y los gestores de descarga lo usan para reanudar.

Usos incorrectos o implementaciones incorrectas: Enviar 206 cuando nadie pidió contenido parcial, enviar el rango de bytes incorrecto, no admitir solicitudes de rango cuando serían útiles, o arruinar los encabezados Content-Range.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 207?

HTTP: 207 Multi-Status

Cuándo y por qué los servidores lo devuelven: Se realizaron múltiples operaciones y cada una tiene su propio resultado. Es como enviar un lote de solicitudes de empleo y obtener respuestas individuales para cada una en un solo sobre.

Casos de uso prácticos: Operaciones masivas donde estás actualizando múltiples elementos a la vez, operaciones WebDAV en múltiples archivos, solicitudes API por lotes, o cualquier momento en que necesites informar resultados individuales para múltiples operaciones.

Cómo deben responder los clientes a este estado: Analizar el cuerpo de respuesta (generalmente XML) para ver el resultado individual de cada operación. Algunas podrían haber tenido éxito mientras otras fallaron, y necesitas manejar cada una apropiadamente.

Usos incorrectos o implementaciones incorrectas: Usar 207 para operaciones únicas, no estructurar correctamente la respuesta de múltiples estados, o usarlo cuando todas las operaciones tuvieron el mismo resultado (solo usa ese código de estado único en su lugar).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 208?

HTTP: 208 Already Reported

Cuándo y por qué los servidores lo devuelven: En una respuesta de múltiples estados, esto indica que la información sobre este recurso ya se incluyó anteriormente. Es como decir “ver arriba” para evitar repetirte.

Casos de uso prácticos: Al listar contenidos de directorio que incluyen enlaces simbólicos, prevenir bucles infinitos en operaciones recursivas, o evitar información duplicada en respuestas WebDAV complejas.

Cómo deben responder los clientes a este estado: Omitir el procesamiento de este recurso ya que ya lo manejaste anteriormente en la respuesta. Esto previene el procesamiento doble y bucles infinitos.

Usos incorrectos o implementaciones incorrectas: Usar 208 fuera de contextos apropiados de múltiples estados, marcar cosas como “ya informadas” cuando no lo fueron, o crear respuestas confusas al usar excesivamente este estado.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 226?

HTTP: 226 IM Used

Cuándo y por qué los servidores lo devuelven: El servidor aplicó una o más transformaciones a la respuesta. Es como pedir un documento y recibir una versión comprimida u optimizada para ahorrar ancho de banda.

Casos de uso prácticos: Codificación delta donde solo se envían cambios desde la última vez, sistemas de compresión que transforman contenido sobre la marcha, o cualquier transformación que ahorre ancho de banda que el cliente solicitó.

Cómo deben responder los clientes a este estado: Procesar el contenido transformado usando el método indicado en los encabezados. El cliente necesita entender la transformación para usar la respuesta correctamente.

Usos incorrectos o implementaciones incorrectas: Usar 226 sin indicar qué transformaciones se aplicaron, aplicar transformaciones que el cliente no solicitó, o usar 226 para compresión estándar (que no necesita un estado especial).

Documentación de Mozilla.org para referencia adicional


Redirección 3xx

Estos códigos indican que se necesita tomar una acción adicional para completar la solicitud.

¿Qué es un código de estado 300?

HTTP: 300 Multiple Choices

Cuándo y por qué los servidores lo devuelven: Hay múltiples versiones del recurso solicitado y el servidor no puede elegir una automáticamente. Es como pedir “el manual” cuando hay versiones en diferentes idiomas.

Casos de uso prácticos: Cuando el contenido está disponible en múltiples idiomas o formatos, cuando hay diferentes versiones para diferentes dispositivos, o cuando el servidor genuinamente no puede decidir qué versión quieres.

Cómo deben responder los clientes a este estado: Presentar las opciones al usuario o elegir una según las preferencias (como configuraciones de idioma). La respuesta debe listar todas las opciones disponibles.

Usos incorrectos o implementaciones incorrectas: Usar 300 cuando el servidor podría razonablemente elegir un valor predeterminado, no presentar claramente las opciones disponibles, o usarlo para redirecciones simples (usa 301/302 en su lugar).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 301?

HTTP: 301 Moved Permanently

Cuándo y por qué los servidores lo devuelven: El recurso se ha movido permanentemente a una nueva dirección. Es como cuando un negocio se muda a una nueva ubicación y pone un letrero de reenvío permanente: ¡actualiza tu libreta de direcciones!

Casos de uso prácticos: Cuando los sitios web reestructuran sus URLs permanentemente, mudarse de HTTP a HTTPS, cuando las empresas cambian de marca y cambian dominios, o consolidar múltiples páginas en una para mejor organización.

Cómo deben responder los clientes a este estado: Ir automáticamente a la nueva URL y recordarla para la próxima vez. Los navegadores actualizan marcadores y los motores de búsqueda actualizan sus índices para apuntar a la nueva ubicación.

Usos incorrectos o implementaciones incorrectas: Usar 301 para movimientos temporales (usa 302 en su lugar), crear cadenas de redirecciones que reboten a los usuarios, o usar 301 cuando podrías querer cambiarlo de nuevo más tarde.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 302?

HTTP: 302 Found

Cuándo y por qué los servidores lo devuelven: El recurso está temporalmente en una ubicación diferente. Es como un letrero de tienda que dice “Estamos en el mercado de agricultores hoy”: estarán de vuelta en su lugar normal mañana.

Casos de uso prácticos: Redirigir usuarios durante el mantenimiento del sitio, pruebas A/B donde algunos usuarios van a una versión diferente, promociones estacionales que redirigen a páginas especiales, o balanceo de carga entre servidores.

Cómo deben responder los clientes a este estado: Ir a la ubicación temporal por ahora, pero seguir usando la URL original para futuras solicitudes. No actualizar marcadores o referencias permanentes.

Usos incorrectos o implementaciones incorrectas: Usar 302 para movimientos permanentes (usa 301 para esos), crear bucles de redirección donde A envía a B y B envía de vuelta a A, o usar 302 cuando específicamente necesitas preservar el método HTTP (usa 307).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 303?

HTTP: 303 See Other

Cuándo y por qué los servidores lo devuelven: Después de procesar tu solicitud (generalmente POST), el servidor quiere que mires una página diferente usando GET. Es como enviar un formulario y ser redirigido a una página de “gracias”.

Casos de uso prácticos: Después de enviar un formulario, redirigir a una página de confirmación; después de hacer un pago, redirigir a un recibo; cualquier momento en que quieras prevenir envíos duplicados cuando los usuarios refrescan la página.

Cómo deben responder los clientes a este estado: Hacer una nueva solicitud GET a la nueva URL. Esto previene el reenvío accidental si los usuarios refrescan la página, ya que refrescar solo recargará la página final, no reenviará el formulario.

Usos incorrectos o implementaciones incorrectas: Usar 303 cuando quieres preservar el método original (usa 307), usarlo para redirecciones permanentes (usa 301), u olvidar que la redirección siempre usará GET independientemente del método original.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 304?

HTTP: 304 Not Modified

Cuándo y por qué los servidores lo devuelven: El recurso no ha cambiado desde que lo solicitaste por última vez, así que usa tu copia en caché. Es como verificar si un documento fue actualizado y que te digan “no, todavía es el mismo”.

Casos de uso prácticos: Caché del navegador donde verifica si archivos de imágenes/CSS/JavaScript han cambiado, respuestas API que rara vez cambian, o cualquier situación donde quieras ahorrar ancho de banda al no reenviar datos sin cambios.

Cómo deben responder los clientes a este estado: Usar la versión en caché que ya tienes. No vienen datos nuevos con esta respuesta, solo confirma que tu copia en caché todavía es buena.

Usos incorrectos o implementaciones incorrectas: Enviar datos con un 304 (debe estar vacío), decir “no modificado” cuando realmente fue modificado, o no manejar correctamente los encabezados especiales que hacen que esto funcione.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 305?

HTTP: 305 Use Proxy

Cuándo y por qué los servidores lo devuelven: Este código de estado está obsoleto y nunca debe usarse. Tenía problemas de seguridad y ha sido abandonado por la comunidad web.

Casos de uso prácticos: Ninguno: este código de estado está retirado y no debería usarse en ninguna aplicación moderna.

Cómo deben responder los clientes a este estado: Los clientes modernos deben ignorar este código de estado debido a preocupaciones de seguridad. Es un artefacto histórico.

Usos incorrectos o implementaciones incorrectas: Usar este código de estado en absoluto es un error. Está obsoleto por buenas razones de seguridad y nunca debería aparecer en aplicaciones modernas.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 307?

HTTP: 307 Temporary Redirect

Cuándo y por qué los servidores lo devuelven: Redirigir temporalmente a otra URL, pero a diferencia de 302, el cliente debe usar el mismo método. Si la solicitud original fue POST, la redirección también debe ser POST.

Casos de uso prácticos: Endpoints de API en mantenimiento que necesitan preservar el método, balanceo de carga que mantiene la integridad de la solicitud, o cualquier redirección temporal donde cambiar de POST a GET rompería las cosas.

Cómo deben responder los clientes a este estado: Redirigir a la nueva URL usando exactamente el mismo método y cuerpo que la solicitud original. Esto es más estricto que las redirecciones 302.

Usos incorrectos o implementaciones incorrectas: Usar 307 para movimientos permanentes (usa 308), usarlo cuando la preservación del método no importa (302 es más simple), o no darse cuenta de que los clientes deben reenviar el cuerpo de la solicitud.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 308?

HTTP: 308 Permanent Redirect

Cuándo y por qué los servidores lo devuelven: Como 301, pero garantiza que el método no cambiará. Si hiciste POST a la URL antigua, también debes hacer POST a la nueva URL.

Casos de uso prácticos: Mover permanentemente endpoints de API que aceptan POST/PUT/DELETE, reestructurar servicios RESTful mientras se mantiene la integridad del método, o cualquier movimiento permanente donde el método HTTP debe preservarse.

Cómo deben responder los clientes a este estado: Actualizar permanentemente las referencias para usar la nueva URL, y siempre usar el mismo método HTTP que la solicitud original al seguir la redirección.

Usos incorrectos o implementaciones incorrectas: Usar 308 para movimientos temporales (usa 307), usarlo cuando la preservación del método no importa (301 tiene más soporte), u olvidar que este es un código de estado más nuevo que los clientes antiguos podrían no entender.

Documentación de Mozilla.org para referencia adicional


Errores de Cliente 4xx

Estos códigos indican que el cliente parece haber cometido un error.

¿Qué es un código de estado 400?

HTTP: 400 Bad Request

Cuándo y por qué los servidores lo devuelven: Tu solicitud está mal formada o es inválida de alguna manera. Es como llenar un formulario con tu correo electrónico en el campo de número de teléfono: el servidor no puede procesarlo porque no tiene sentido.

Casos de uso prácticos: JSON inválido en el cuerpo de la solicitud, parámetros requeridos faltantes, tipos de datos incorrectos (enviar texto cuando se espera un número), URLs mal formadas, o cualquier error de sintaxis en la solicitud.

Cómo deben responder los clientes a este estado: No reintentar la misma solicitud: fallará de nuevo. Primero arregla el problema. Verifica el cuerpo de respuesta para detalles sobre qué está mal y corrígelo antes de intentar de nuevo.

Usos incorrectos o implementaciones incorrectas: Usar 400 para problemas de autenticación (usa 401), devolver 400 para errores del servidor (usa 5xx), dar mensajes de error vagos que no ayudan a arreglar el problema, o usar 400 como un comodín para cualquier error.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 401?

HTTP: 401 Unauthorized

Cuándo y por qué los servidores lo devuelven: Necesitas iniciar sesión o proporcionar credenciales para acceder a este recurso. Es como intentar entrar a un área solo para miembros sin mostrar tu tarjeta de membresía.

Casos de uso prácticos: Acceder a endpoints de API protegidos sin un token, sesiones de inicio de sesión expiradas, claves API faltantes, o cualquier solicitud a un recurso que requiere que pruebes quién eres.

Cómo deben responder los clientes a este estado: Solicitar al usuario que inicie sesión, redirigir a una página de inicio de sesión, u obtener credenciales válidas antes de reintentar. Para APIs, obtén un nuevo token de autenticación.

Usos incorrectos o implementaciones incorrectas: Usar 401 cuando las credenciales son válidas pero insuficientes (usa 403), olvidar incluir información sobre cómo autenticarse, o confundir autenticación (quién eres) con autorización (qué se te permite hacer).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 403?

HTTP: 403 Forbidden

Cuándo y por qué los servidores lo devuelven: El servidor entiende quién eres pero no te dejará acceder a este recurso. Es como mostrar tu identificación para entrar a un área VIP pero que te digan que no estás en la lista.

Casos de uso prácticos: Intentar acceder a funciones de administrador como usuario regular, intentar ver datos privados de otro usuario, restricciones geográficas (contenido no disponible en tu país), o bloqueo de direcciones IP.

Cómo deben responder los clientes a este estado: No molestarse en reintentar con las mismas credenciales: no funcionarán. Mostrar un mensaje de “acceso denegado” y posiblemente explicar cómo obtener acceso adecuado si es aplicable.

Usos incorrectos o implementaciones incorrectas: Usar 403 cuando el usuario no ha iniciado sesión (usa 401), usar 403 para recursos que no existen para ocultar su existencia (debatible - podría usar 404), o no ser claro sobre por qué se prohíbe el acceso.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 404?

HTTP: 404 Not Found

Cuándo y por qué los servidores lo devuelven: El servidor no puede encontrar nada en la URL que solicitaste. Es como ir a una dirección de calle donde solo hay un lote vacío: o tienes la dirección incorrecta, o lo que solía estar ahí se fue.

Casos de uso prácticos: Escribir una URL incorrectamente (como gooogle.com en lugar de google.com), hacer clic en marcadores antiguos a páginas que fueron eliminadas, seguir enlaces rotos de otros sitios web, cometer errores tipográficos en endpoints de API, o intentar acceder a archivos que fueron movidos o renombrados.

Cómo deben responder los clientes a este estado: Mostrar una página de error que ayude a los usuarios a descubrir qué hacer a continuación. Las buenas páginas 404 incluyen un cuadro de búsqueda, enlaces a páginas populares, una forma de reportar el enlace roto, o incluso un mensaje divertido para hacer el error menos frustrante.

Usos incorrectos o implementaciones incorrectas: Usar 404 cuando se deniega el acceso (usa 403 para “no puedes ver esto”), devolver 404 para cosas que fueron eliminadas intencionalmente para siempre (considera 410 “Gone”), mostrar páginas de error genéricas poco útiles, o usar 404 para ocultar que algo existe de usuarios no autorizados (aunque esto es debatible por seguridad).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 405?

HTTP: 405 Method Not Allowed

Cuándo y por qué los servidores lo devuelven: El recurso existe pero no admite el método HTTP que usaste. Es como intentar empujar una puerta que solo se abre jalando: la puerta existe, solo necesitas usarla correctamente.

Casos de uso prácticos: Intentar DELETE en un recurso que es de solo lectura, enviar POST a un endpoint que solo acepta GET, intentar PUT en recursos que no se pueden actualizar, o usar métodos personalizados que el servidor no admite.

Cómo deben responder los clientes a este estado: Verificar el encabezado Allow para ver qué métodos son compatibles, luego reintentar con un método apropiado. No seguir intentando el mismo método: no es compatible.

Usos incorrectos o implementaciones incorrectas: No incluir el encabezado Allow requerido que lista métodos compatibles, usar 405 cuando el recurso no existe (usa 404), o devolver 405 para métodos que el servidor debería admitir pero aún no ha implementado (considera 501).

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 406?

HTTP: 406 Not Acceptable

Cuándo y por qué los servidores lo devuelven: El servidor no puede proporcionar el recurso en un formato que aceptarás. Es como pedir un menú en francés en un restaurante que solo tiene versiones en inglés y español.

Casos de uso prácticos: Solicitar JSON desde un endpoint que solo proporciona XML, pedir un formato de imagen que el servidor no admite, fallos de negociación de idioma, o cualquier desajuste de negociación de contenido.

Cómo deben responder los clientes a este estado: Modificar tus encabezados Accept para solicitar un formato que el servidor pueda proporcionar, o manejar los formatos disponibles. La respuesta podría listar qué formatos están disponibles.

Usos incorrectos o implementaciones incorrectas: Ser demasiado estricto sobre formatos cuando podrías proporcionar un valor predeterminado razonable, usar 406 para errores que no son de negociación de contenido, o no indicar claramente qué formatos están disponibles.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 407?

HTTP: 407 Proxy Authentication Required

Cuándo y por qué los servidores lo devuelven: Un servidor proxy entre tú y el destino requiere autenticación. Es como necesitar mostrar identificación al guardia de seguridad antes de que puedas llegar al edificio al que quieres entrar.

Casos de uso prácticos: Servidores proxy corporativos que requieren inicio de sesión de empleados, gateways de red que necesitan autenticación, servicios de proxy pagados que requieren credenciales, o cualquier configuración de proxy autenticado.

Cómo deben responder los clientes a este estado: Autenticarse con el servidor proxy (no el servidor de destino) usando el método especificado en el encabezado Proxy-Authenticate, luego reintentar la solicitud original.

Usos incorrectos o implementaciones incorrectas: Confundir esto con autenticación 401 regular, no incluir el encabezado Proxy-Authenticate, o usar 407 cuando es el servidor de destino (no el proxy) el que requiere autenticación.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 408?

HTTP: 408 Request Timeout

Cuándo y por qué los servidores lo devuelven: El servidor esperó a que enviaras la solicitud completa, pero tardaste demasiado. Es como comenzar a pedir en un restaurante pero hacer una pausa tan larga que el mesero se va.

Casos de uso prácticos: Conexiones de red lentas que causan retrasos, cargas de archivos grandes sobre conexiones pobres, aplicaciones cliente que se congelan durante la transmisión de solicitudes, o interrupciones de red mientras se envían datos.

Cómo deben responder los clientes a este estado: Puedes reintentar la solicitud, preferiblemente con una mejor conexión o carga útil más pequeña. Considera dividir solicitudes grandes en fragmentos más pequeños o mejorar las condiciones de red.

Usos incorrectos o implementaciones incorrectas: Usar 408 cuando el servidor es lento (eso es 504), establecer tiempos de espera irrazonablemente cortos, o usar 408 para tiempos de espera a nivel de aplicación en lugar de a nivel de red.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 409?

HTTP: 409 Conflict

Cuándo y por qué los servidores lo devuelven: Tu solicitud entra en conflicto con el estado actual del recurso. Es como intentar crear un nombre de usuario que ya está tomado: la operación tiene sentido, pero no se puede hacer ahora mismo.

Casos de uso prácticos: Intentar crear un registro duplicado, editar un documento que alguien más está editando actualmente, conflictos de versión en sistemas colaborativos, o violar reglas de negocio (como reservar doble un recurso).

Cómo deben responder los clientes a este estado: Resolver el conflicto eligiendo un valor diferente, fusionando cambios, o esperando a que se aclare el conflicto. La respuesta debe explicar cuál es el conflicto y cómo resolverlo.

Usos incorrectos o implementaciones incorrectas: Usar 409 para errores de validación (considera 422), no explicar cómo resolver el conflicto, usar 409 para problemas de permisos (usa 403), o reportar conflictos que realmente no son resolubles por el cliente.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 410?

HTTP: 410 Gone

Cuándo y por qué los servidores lo devuelven: El recurso solía existir aquí pero fue eliminado deliberadamente y no volverá. Es como visitar un edificio demolido: no está solo temporalmente cerrado, se fue permanentemente.

Casos de uso prácticos: Artículos o publicaciones que fueron eliminados por violaciones de política, productos descontinuados para siempre, versiones antiguas de API que han sido retiradas, o cualquier contenido eliminado intencionalmente y permanentemente.

Cómo deben responder los clientes a este estado: Eliminar marcadores, actualizar enlaces e informar a los usuarios que el contenido se fue permanentemente. Los motores de búsqueda deben eliminar estas URLs de su índice. No seguir verificando: no volverá.

Usos incorrectos o implementaciones incorrectas: Usar 410 para eliminaciones temporales (usa 503), usar 410 cuando podrías restaurar el contenido, usar 410 para cosas que nunca existieron (usa 404), o no estar seguro de que la eliminación es permanente.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 418?

HTTP: 418 I’m a teapot

Cuándo y por qué los servidores lo devuelven: Este es un código de estado de broma de un RFC del Día de los Inocentes sobre controlar cafeteras. Significa “Soy una tetera, y me pediste preparar café, lo cual no puedo hacer”.

Casos de uso prácticos: Huevos de Pascua en aplicaciones, demostrar la extensibilidad de HTTP en cursos de programación, agregar humor a entornos de desarrollo/prueba, o como una respuesta juguetona en contextos apropiados.

Cómo deben responder los clientes a este estado: Reconocerlo como una respuesta humorística y manejar apropiadamente: tal vez mostrar un mensaje de error divertido o imágenes relacionadas con té. No esperes esto en entornos de producción serios.

Usos incorrectos o implementaciones incorrectas: Usar 418 para errores reales en sistemas de producción, usar excesivamente hasta el punto de molestia, o devolverlo a usuarios que no entenderán la broma.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 422?

HTTP: 422 Unprocessable Entity

Cuándo y por qué los servidores lo devuelven: El formato de tu solicitud es correcto, pero el contenido no tiene sentido. Es como llenar un formulario correctamente pero ingresar datos imposibles, como tener 300 años o nacer en el futuro.

Casos de uso prácticos: Fallos de validación de formularios (correo electrónico sin símbolo @), violaciones de reglas de negocio (fecha de fin antes de fecha de inicio), errores semánticos en solicitudes API, o cualquier error lógico en datos correctamente formateados.

Cómo deben responder los clientes a este estado: Leer los detalles del error para entender qué validación falló, arreglar los datos para cumplir con los requisitos y reenviar. La estructura estaba bien; el contenido necesita ajuste.

Usos incorrectos o implementaciones incorrectas: Usar 422 para errores de sintaxis (usa 400), no proporcionar detalles específicos del error de validación, usar 422 para problemas de autenticación/autorización, o ser inconsistente sobre qué desencadena 422 vs 400.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 429?

HTTP: 429 Too Many Requests

Cuándo y por qué los servidores lo devuelven: Estás enviando demasiadas solicitudes demasiado rápido. Es como llamar a alguien repetidamente: eventualmente dejará de responder y te dirá que desaceleres.

Casos de uso prácticos: Limitación de tasa de API (p. ej., 100 solicitudes por hora), prevenir abuso o ataques DDoS, proteger servidores de ser abrumados, o hacer cumplir políticas de uso justo.

Cómo deben responder los clientes a este estado: Dejar de hacer solicitudes y esperar. Verificar el encabezado Retry-After para ver cuándo puedes intentar de nuevo. Implementar retroceso exponencial: esperar más tiempo entre cada intento de reintento.

Usos incorrectos o implementaciones incorrectas: No incluir el encabezado Retry-After para guiar a los clientes, establecer límites demasiado bajos para uso normal, usar 429 para otros tipos de sobrecarga (considera 503), o no documentar claramente los límites de tasa.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 451?

HTTP: 451 Unavailable For Legal Reasons

Cuándo y por qué los servidores lo devuelven: El contenido está bloqueado debido a requisitos legales. Nombrado en honor a “Fahrenheit 451” de Ray Bradbury sobre censura, este estado indica bloqueo gubernamental o legal.

Casos de uso prácticos: Contenido bloqueado por orden judicial, avisos de eliminación DMCA, restricciones geográficas debido a leyes locales, requisitos de censura gubernamental, o cualquier bloqueo de contenido legalmente ordenado.

Cómo deben responder los clientes a este estado: Informar a los usuarios que el contenido está legalmente restringido. La respuesta podría incluir detalles sobre quién demandó el bloqueo (si eso está legalmente permitido compartir).

Usos incorrectos o implementaciones incorrectas: Usar 451 para bloqueos no legales (usa el código 4xx apropiado), no ser transparente sobre bloqueos legales cuando sea posible, o usar 451 para políticas de contenido voluntarias en lugar de requisitos legales.

Documentación de Mozilla.org para referencia adicional


Errores de Servidor 5xx

Estos códigos indican que el servidor no pudo cumplir con una solicitud válida.

¿Qué es un código de estado 500?

HTTP: 500 Internal Server Error

Cuándo y por qué los servidores lo devuelven: Algo salió mal del lado del servidor y no sabe cómo manejarlo. Es como una caja registradora que se bloquea en una tienda: el problema no es con tu método de pago, su sistema simplemente se rompió.

Casos de uso prácticos: Cuando la conexión de base de datos falla, cuando hay un error en el código del servidor, cuando el servidor se queda sin memoria, o cualquier bloqueo inesperado que los programadores no anticiparon.

Cómo deben responder los clientes a este estado: Decir a los usuarios que algo salió mal y sugerir intentar de nuevo más tarde. Podrías automáticamente reintentar después de un retraso, ya que estos errores a menudo son temporales.

Usos incorrectos o implementaciones incorrectas: Usar 500 para errores de usuario (usa códigos 4xx para esos), mostrar mensajes de error detallados a los usuarios (¡riesgo de seguridad!), no registrar suficientes detalles para arreglar el problema, o usar 500 como un comodín perezoso para cualquier error.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 501?

HTTP: 501 Not Implemented

Cuándo y por qué los servidores lo devuelven: El servidor no admite la funcionalidad que estás pidiendo. Es como pedirle a una calculadora básica que grafique funciones: entiende lo que quieres pero no tiene esa función.

Casos de uso prácticos: Usar métodos HTTP que el servidor no reconoce, solicitar características que están planeadas pero aún no construidas, servidores heredados que no admiten funcionalidad moderna, o métodos personalizados que no están implementados.

Cómo deben responder los clientes a este estado: No reintentar esta solicitud: el servidor no puede manejarla. Usa un enfoque diferente o verifica si hay una forma alternativa de lograr lo que necesitas.

Usos incorrectos o implementaciones incorrectas: Usar 501 para características temporalmente deshabilitadas (usa 503), usar 501 para métodos que reconoces pero no permites (usa 405), o usar 501 como excusa para características faltantes que deberían implementarse.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 502?

HTTP: 502 Bad Gateway

Cuándo y por qué los servidores lo devuelven: Un servidor actuando como gateway o proxy recibió una respuesta inválida de un servidor upstream. Es como pedirle a alguien que retransmita un mensaje, pero regresan diciendo “la persona que pregunté me dio galimatías”.

Casos de uso prácticos: Balanceador de carga no puede llegar a servidores backend, gateway de API recibiendo errores de microservicios, proxy inverso obteniendo respuestas mal formadas, o CDN incapaz de recuperar del servidor de origen.

Cómo deben responder los clientes a este estado: Esto generalmente es temporal, así que reintenta después de un breve retraso. El problema está entre servidores, no con tu solicitud, así que reintentar podría funcionar una vez que arreglen sus problemas de comunicación.

Usos incorrectos o implementaciones incorrectas: Usar 502 para errores del propio servidor de origen (usa 500), no distinguir entre escenarios de “no se puede alcanzar” y “respuesta inválida”, o usar 502 cuando el propio gateway tiene problemas.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 503?

HTTP: 503 Service Unavailable

Cuándo y por qué los servidores lo devuelven: El servidor está temporalmente incapaz de manejar solicitudes. Es como una tienda que pone un letrero de “cerrado por mantenimiento”: volverán, pero no ahora mismo.

Casos de uso prácticos: Ventanas de mantenimiento programadas, situaciones de sobrecarga del servidor, interrupciones temporales para actualizaciones, limitación de tasa a nivel de servidor, o cualquier incapacidad temporal para servir solicitudes.

Cómo deben responder los clientes a este estado: Esperar y reintentar más tarde. Verificar el encabezado Retry-After para orientación sobre cuándo volver. Implementar retroceso exponencial para reintentos para evitar abrumar al servidor cuando regrese.

Usos incorrectos o implementaciones incorrectas: Usar 503 para problemas permanentes (usa el error apropiado), no incluir Retry-After cuando sabes cuánto tardará, usar 503 para problemas específicos del cliente en lugar de problemas de todo el servidor.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 504?

HTTP: 504 Gateway Timeout

Cuándo y por qué los servidores lo devuelven: Un servidor actuando como gateway o proxy no recibió una respuesta oportuna de un servidor upstream. Es como pedirle a alguien que retransmita un mensaje, pero regresan diciendo “Esperé y esperé, pero nunca respondieron”.

Casos de uso prácticos: Consultas de base de datos que tardan demasiado, servicios backend sobrecargados, problemas de red entre servidores, microservicios que no responden suficientemente rápido, o cualquier tiempo de espera en comunicación servidor a servidor.

Cómo deben responder los clientes a este estado: Puedes reintentar, pero ten en cuenta que la operación podría ser costosa o lenta. Considera si la solicitud es lo suficientemente crítica para reintentar e implementa límites de reintento razonables.

Usos incorrectos o implementaciones incorrectas: Usar 504 cuando los clientes son lentos (usa 408), establecer tiempos de espera demasiado cortos para operaciones razonables, no distinguir entre diferentes escenarios de tiempo de espera, o usar 504 para los propios tiempos de espera del servidor de origen.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 505?

HTTP: 505 HTTP Version Not Supported

Cuándo y por qué los servidores lo devuelven: El servidor no admite la versión HTTP usada en la solicitud. Es como intentar reproducir un disco Blu-ray en un reproductor de DVD: el reproductor entiende lo que quieres pero no puede manejar ese formato.

Casos de uso prácticos: Servidores antiguos que solo admiten HTTP/1.0 recibiendo solicitudes HTTP/2, servidores aún no actualizados para admitir versiones HTTP más nuevas, o versiones HTTP personalizadas/experimentales que el servidor no reconoce.

Cómo deben responder los clientes a este estado: Reintentar la solicitud usando una versión HTTP diferente, típicamente volviendo a HTTP/1.1 que es universalmente compatible. Verificar qué versiones admite el servidor.

Usos incorrectos o implementaciones incorrectas: Usar 505 para características no compatibles dentro de una versión (usa 501), no intentar manejar la negociación de versión de manera elegante, o rechazar versiones HTTP estándar que deberían ser compatibles.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 507?

HTTP: 507 Insufficient Storage

Cuándo y por qué los servidores lo devuelven: El servidor no tiene suficiente espacio de almacenamiento para completar la solicitud. Es como intentar guardar un archivo cuando el disco duro está lleno.

Casos de uso prácticos: Fallos de carga de archivos debido a disco lleno, operaciones de base de datos que alcanzan cuotas de almacenamiento, operaciones WebDAV que exceden el espacio asignado, o cualquier operación que requiera más almacenamiento del disponible.

Cómo deben responder los clientes a este estado: Informar a los usuarios sobre límites de almacenamiento. Podría necesitar eliminar contenido antiguo, solicitar más almacenamiento o reducir el tamaño de lo que estás intentando almacenar.

Usos incorrectos o implementaciones incorrectas: Usar 507 para problemas temporales de almacenamiento que se aclararán (considera 503), no monitorear el almacenamiento correctamente, usar 507 para problemas de cuota no relacionados con almacenamiento físico, o no proporcionar información sobre límites de almacenamiento.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 508?

HTTP: 508 Loop Detected

Cuándo y por qué los servidores lo devuelven: El servidor detectó un bucle infinito mientras procesaba la solicitud. Es como seguir direcciones que dicen “ver paso 1” al final: darías vueltas para siempre.

Casos de uso prácticos: Operaciones WebDAV con referencias circulares, cadenas de redirección que se devuelven sobre sí mismas, enlaces simbólicos que crean ciclos, o cualquier operación del servidor que detecta que se está repitiendo sin fin.

Cómo deben responder los clientes a este estado: No reintentar la misma solicitud: llegará al mismo bucle. Verificar referencias circulares en tu estructura de datos y arreglarlas antes de intentar de nuevo.

Usos incorrectos o implementaciones incorrectas: Usar 508 para errores que no son de bucle, no implementar detección de bucle adecuada, usar 508 para bucles de redirección del lado del cliente (esos se muestran de manera diferente), o detectar falsos positivos como bucles.

Documentación de Mozilla.org para referencia adicional


¿Qué es un código de estado 511?

HTTP: 511 Network Authentication Required

Cuándo y por qué los servidores lo devuelven: Necesitas autenticarte con la red misma antes de poder acceder a internet. Es como necesitar iniciar sesión en el WiFi del hotel antes de poder navegar por cualquier sitio web.

Casos de uso prácticos: Páginas de inicio de sesión de WiFi de hotel o aeropuerto, portales de acceso a red corporativa, WiFi público que requiere aceptar términos de servicio, o cualquier situación de portal cautivo.

Cómo deben responder los clientes a este estado: Redirigir a los usuarios a la página de inicio de sesión de red (generalmente proporcionada en la respuesta). Una vez que se autentiquen con la red, pueden reintentar su solicitud original.

Usos incorrectos o implementaciones incorrectas: Usar 511 para requisitos de inicio de sesión del sitio web (usa 401), usar 511 para autenticación de proxy (usa 407), o implementar portales cautivos de maneras que rompen conexiones seguras.

Documentación de Mozilla.org para referencia adicional