J'implémente actuellement une API HTTP, ma toute première.
J'ai passé beaucoup de temps à regarder la page Wikipedia pour les codes d'état HTTP, car je suis déterminé à mettre en œuvre les bons codes pour les bonnes situations. Sur cette page est répertorié un code avec le numéro 420, qui est un code personnalisé que Twitter utilisait pour limiter le taux.
Cependant, il existe déjà un code pour limiter le débit. C'est 429.
Cela m'a amené à me demander pourquoi ils en définiraient un personnalisé, alors qu'il existe déjà un cas d'utilisation. C'est juste être mignon? Et si c'est le cas, quelles circonstances rendraient acceptable le retour d'un code de statut différent, et qu'en cas de problème, les clients pourraient-ils rencontrer?
J'ai lu quelque part que Mozilla n'implémente pas la 418: I’m a teapot
réponse de plaisanterie , ce qui me fait penser que les clients choisissent les codes d'état qu'ils implémentent. Si c'est vrai, alors je peux imaginer que le petit drôle de Twitter améliore votre code calme problématique.
À moins que je ne me trompe, et nous pouvons nous approprier n'importe quel numéro de code pour signifier ce que nous voulons, et cette seule convention dicte que 404 signifie non trouvé, et 429 signifie que c'est facile.
la source
420
existe et qu'il est désormais «hors service».Cette question approfondit un peu le problème. Mais le fait est que, bien que vous puissiez techniquement créer le code d'état que vous voulez, la création d'un code d'état en dehors de la portée traditionnelle des significations de code d'état ne fait que rendre votre API plus obtuse et mystérieuse pour les autres. À moins que ce ne soit le cas, et l'API que vous créez est tellement incroyable que tout le monde sera ravi de changer son codage pour suivre votre exemple, alors qu'importe de toute façon, non?
Cela se résume à ceci: toute norme peut être brisée. Mais si vous le cassez, qu'est-ce que vous gagnez ou perdez en le faisant?
En général, dans les cas où vous pouvez faire quelque chose de différent mais les normes impliquent des normes, il est préférable de respecter les normes, sauf s'il existe une raison très forte et impérieuse de s'écarter des normes établies. Dans le cas de Twitter,
420: Enhance Your Calm
ils créent un code de réponse qui parle clairement d'une situation unique à laquelle ils sont confrontés. Ce qui ralentit les demandes sans refuser le service.la source