Configuration par défaut
"rate_limit": {
"enabled": true,
"limit": 60,
"window": 60,
"methods": ["POST", "PUT", "PATCH", "DELETE"]
}La limite s’applique par adresse cliente, méthode HTTP et chemin. Les lectures GET ne sont pas limitées par défaut. L’état est enregistré dans runtime/storage/rate-limits avec verrouillage des écritures concurrentes.
Quand la limite est dépassée
HTTP/1.1 429 Too Many Requests
Retry-After: 37
Content-Type: application/json
{"error":"Trop de requêtes. Réessayez plus tard."}Retry-After indique le nombre de secondes avant un nouvel essai. Une interface devrait respecter ce délai plutôt que relancer immédiatement la même action.
Ce que la limite ne garantit pas
- Elle ne vérifie pas le droit d’exécuter l’action.
- Une adresse IP peut représenter plusieurs personnes.
- Plusieurs serveurs exigent un stockage partagé, par exemple Redis.
- Les seuils doivent être ajustés à partir de mesures.