Le rate limiting protège le serveur d'un trop grand nombre de requêtes ; le caching HTTP évite de répéter le travail pour des requêtes auxquelles il a déjà répondu. Les deux sont standardisés dans HTTP et tous deux essentiels pour une API de production à l'échelle.
Rate limiting
Le serveur plafonne le nombre de requêtes qu'un client peut faire par fenêtre et retourne 429 Too Many Requests en cas de dépassement. Il annonce les limites via des headers pour qu'un client bien élevé puisse s'auto-limiter :
HTTP/1.1 200 OK
RateLimit-Limit: 100
RateLimit-Remaining: 12
RateLimit-Reset: 30
