wake-up-neo.com

Soll ich einem Bot einen 429- oder 503-Statuscode zurückgeben?

Wir arbeiten daran, übermäßige Bots zu blockieren. Wir drosseln Anfragen basierend auf IP. In der Vergangenheit haben wir unter Verwendung von IIS einen Fehler 503 an den Client zurückgegeben. Jemand schlug vor, dass ein 429 angemessener ist. Ich versuche herauszufinden, welches ich verwenden sollte und warum. Als ich diese Seite nach 429 durchsuchte, fand ich nichts.

Ich fand diese Definitionen von HTTP-Statuscodes auf Wikipedia:

429 Zu viele Anfragen Der Benutzer hat in einem bestimmten Zeitraum zu viele Anfragen gesendet. Bestimmt für die Verwendung mit Ratenbegrenzungsschemata.

503 Dienst nicht verfügbar Der Server ist derzeit nicht verfügbar (da er überlastet ist oder wegen Wartungsarbeiten nicht verfügbar ist). Im Allgemeinen ist dies ein vorübergehender Zustand.

Es scheint, dass der 429 besser geeignet ist, einem beleidigenden Bot zu dienen. Ist das richtig?

5
Evik James
  • 503 Nicht verfügbar ist für alle Benutzer gedacht (Ausfallzeit für XYZ).
  • 429 Ist für Benutzer und Computer gedacht, die zu viele Threads anfordern (Requests).

Sie sollten den Status 429 verwenden, da dies impliziert, dass er für diesen Benutzer bestimmt ist und andere Benutzer möglicherweise nicht betroffen sind. Darüber hinaus wäre der bessere Status 403 Verboten, wenn Sie IP-Adressen blockieren, da dies impliziert, dass sie verboten sind, während 429 normalerweise einer temporären Blockierung zugeordnet ist. Daher sollten Sie den Status 429 auf Computern verwenden, die zu viele Daten anfordern, da Sie nicht möchten, dass Benutzer legitimiert werden.

3
Simon Hayter