Too Many Requests - ¿qué es el error 429 y cómo se produce?
La transmisión de códigos de estado permite al Protocolo de Transferencia de Hipertexto (HTTP) informar al cliente, en cada petición, sobre el estado actual y notificar la correcta tramitación o la aparición de errores. Cuando se producen estos, un servidor web indica el tipo y el origen mediante un código de estado 400 para problemas causados por el cliente y un código de estado 500 cuando la causa probable está en el servidor. Entre los mensajes más frecuentes se encuentra el código 429 Too Many Requests, que a veces aparece aparentemente sin razón concreta. Entre los problemas asociados está, entre otros, que afecta con una frecuencia superior a la media al administrador de un sitio web mismo.
¿Qué principio hay detrás del código de estado 429?
Para permitir una asignación rápida y clara, el estándar HTTP utiliza una clasificación sencilla y ordenada, que permite deducir directamente, a partir de un mensaje como un código de estado 400, su significado y la causa probable. Oficialmente existen cinco categorías diferentes, cada una de las cuales permite definir 100 estados distintos y que, según su primer dígito, se agrupan de la siguiente manera:
- Los códigos 100 a 199 describen detalles informativos, como un cambio de protocolo
- Los códigos 200 a 299 indican la correcta tramitación de una petición
- Los códigos 300 a 399 indican una redirección
- Los códigos 400 a 499 representan errores causados por el cliente
- Los códigos 500 a 599 señalan problemas que (presumiblemente) se originan en el servidor
El orden en este rango numérico responde a una evolución histórica y no, por ejemplo, a su frecuencia de aparición; por ello resulta en gran medida arbitrario. Así, los usuarios en Internet se encuentran con mayor frecuencia frente a un código 400 con el error HTTP 404 Not Found y no tanto con 400 Bad Request. El error 429 Too Many Requests ocurre regularmente; sin embargo, las posiciones más frecuentes después del 404 las ocupan, con cierta distancia, los códigos 400 Bad Request, 401 Unauthorized así como 403 Forbidden y 408 Request Timeout.
¿Qué indica el código de estado 429?
El código de estado 429 Too Many Connections, o traducido "Demasiadas conexiones", se interpreta con frecuencia de forma errónea. No se trata en absoluto de un mensaje que indique que el servidor esté recibiendo en ese momento un exceso de peticiones en general, como ocurre por ejemplo en el marco de un ataque DDoS. En cambio, se refiere a los accesos procedentes de un único cliente, motivo por el cual el servidor rechaza nuevos intentos. La causa reside, sin embargo, principalmente en el cliente, por eso se clasifica como un código de estado 400, y no como un error provocado por el servidor con código 500 o superior.
En última instancia, el error 429 Too Many Requests indica simplemente que el servidor registra una nueva petición aunque ya exista una gran cantidad de conexiones abiertas. Este comportamiento fue en el pasado típico de ataques en el marco de DDoS, que intentan inundar un servidor con un número creciente de clientes para reservar todos los recursos y la capacidad disponibles para procesos en ejecución. Sin embargo, no tiene sentido limitar únicamente el número máximo posible de peticiones por usuario por esa razón: procedimientos similares se consideran un estándar imprescindible en los distintos ámbitos de la seguridad informática para restringir el consumo de potencia de cálculo y las posibilidades de probar contraseñas.
¿Qué provoca un código de estado 429?
Resulta complicado que un código de estado 429 Too Many Requests pueda ser provocado por diferentes fuentes. La variante más sencilla consiste en un navegador que mantiene abiertas numerosas pestañas hacia la misma dirección y actualiza las conexiones a intervalos cortos; sin embargo, se trata de una excepción poco frecuente. En la práctica predominan otras causas técnicas que no son tan fáciles de diagnosticar. Entre las más comunes se encuentran:
- Complementos mal programados o configurados incorrectamente
- Registro erróneo de peticiones, por ejemplo por falta de reinicios del contador
- Numerosas conexiones abiertas provocadas por elementos interactivos o multimedia
- Identificación y contabilización múltiples debido a la dirección IP y las cookies
- Redirecciones paralelas no finalizadas, por ejemplo de HTTP a HTTPS
- Registro conjunto de distintos protocolos como FTP y SSH a través de HTTP
- Virus o troyanos establecen conexiones adicionales en segundo plano
Desafortunadamente, los orígenes de un error 429 Too Many Requests —como ocurre con casi cualquier código de estado 400— son extremadamente variados y requieren un análisis de los archivos de registro detallado para identificar la causa sin lugar a dudas. Dado que el problema puede ser causado tanto por el cliente como por el servidor, las medidas unilaterales no garantizan necesariamente el éxito. Sin embargo, aportan indicios sobre el punto en el que se origina el código de estado 429 Too Many Requests y cómo puede solucionarse. Si medidas sencillas como reiniciar el navegador y borrar las cookies existentes para el sitio en cuestión y de terceros no resuelven el problema, un análisis más profundo del tráfico con herramientas como Netstat en Linux desglosa el número de conexiones y muestra qué procesos y peticiones provocan este estado.
Foto: Gerd Altmann Pixabay
Escribe un comentario
- HTTP
- Fehlercodes
Etiquetas de este artículo
Más proveedores de hosting
Más artículos interesantes
Error HTTP 503 — Servicio no disponible: causa y solución del error 503
Explicamos el error del servidor 503, incluyendo propuestas de solución. ¡Le ayudamos!
Código de estado 302 - ¿qué significa y cómo afecta?
El código de estado 302 solo debería utilizarse en pocos casos. Les mostramos dónde tiene sentido su uso.
Redirección 301\/Reenvío - ¿cómo afecta el código de estado HTTP 301?
Una redirección 301 es siempre importante cuando una URL ha cambiado. Le mostramos en qué debe fijarse.
HTTP 504 Gateway Timeout: causa y solución del mensaje de error 504
Explicamos el error del servidor 504, incluyendo propuestas de solución. ¡Te ayudamos!
11 trucos para tu archivo htaccess - así funciona htaccess
Os mostramos 11 trucos y hacks para que podáis sacar el máximo de vuestro archivo htaccess.
Error HTTP 403: Prohibido - ¿cuál es la solución?
Error HTTP 403: Prohibido - así podéis solucionar el error.