Je suis en train de mettre au point une spécification pour un service REST, qui inclura une partie de la capacité de limiter les utilisateurs à l’échelle du service et à des groupes de ressources ou sur des ressources individuelles. De même, les délais d'attente pour ceux-ci seraient configurables par ressource / groupe / service.
Je regarde juste à travers les spécifications HTTP 1.1 et j'essaie de décider comment je vais communiquer à un client qu'une demande ne sera pas satisfaite car ils ont atteint leur limite.
Initialement, je pensais que le code client 403 - Forbidden
était celui-là, mais ceci, de la spécification:
L'autorisation n'aidera pas et la demande NE DEVRAIT PAS être répétée
m'a ennuyé.
En fait, il semble que ce 503 - Service Unavailable
soit meilleur à utiliser - car cela permet la communication d’un temps de nouvelle tentative grâce à l’utilisation de l’en- Retry-After
tête.
Il est possible que, dans le futur, je puisse envisager de prendre en charge davantage de demandes d'achat via le commerce électronique (dans ce cas, ce serait bien si le code client 402 - Payment Required
avait été finalisé!) - mais je pense que cela pourrait également être inséré dans une réponse 503.
Lequel pensez-vous que je devrais utiliser? Ou y a-t-il un autre que je n'ai pas considéré?