Ratenbegrenzungen steuern die Anzahl der Anfragen, die Sie innerhalb eines bestimmten Zeitfensters an Endpunkte senden können. Diese Grenzen helfen, die Stabilität des Dienstes zu gewährleisten und die Roblox-Ressourcen vor Missbrauch zu schützen.
Entdeckung
Es gibt zwei Möglichkeiten, Ratenbegrenzungen zu bestimmen: die Referenzdokumentation und die Antwort-Header.
Dokumentationsseiten
Öffentliche Ratenbegrenzungen finden Sie im Abschnitt Limits für jeden Endpunkt auf ihren Dokumentationsseiten. Sehen Sie sich diese Abschnitte an, um die geltenden Ratenbegrenzungen zu verstehen, bevor Sie Anfragen senden.
Antwort-Header
Viele API-Antworten enthalten Header, die Informationen über Ihren aktuellen Status der Ratenbegrenzung bereitstellen.
| Header | Beschreibung |
|---|---|
| x-ratelimit-limit | Die Gesamtzahl der Anfragen, die innerhalb des Ratenbegrenzungsfensters zulässig sind. Dies kann mehrere Grenzwerte für verschiedene Zeitfenster umfassen. |
| x-ratelimit-remaining | Die Anzahl der Anfragen, die Sie mit Ihrer aktuellen Authentifizierung noch stellen können. Wenn dies 0 erreicht, erhalten Sie HTTP 429-Antworten. |
| x-ratelimit-reset | Die Anzahl der Sekunden, die verbleiben, bis Ihr Ratenbegrenzungsquotum auf das volle Limit zurückgesetzt wird. |
Hier ist ein Beispiel für Ratenbegrenzungsheader in einer API-Antwort:
x-ratelimit-limit: 1000, 1000;w=60, 1000;w=60x-ratelimit-remaining: 998x-ratelimit-reset: 20
In diesem Beispiel:
- Sie haben 998 Anfragen, die Ihnen von Ihrem Gesamtlimit bleiben.
- Ihr Kontingent wird in 20 Sekunden zurückgesetzt.
Verhalten
Das Verhalten der Ratenbegrenzung variiert je nach Authentifizierungsmethode und Anfragenursprung, einschließlich der Frage, ob Sie Anfragen aus einem Roblox-Spiel heraus stellen.
API-Schlüssel
Ratenbegrenzungen für API-Schlüssel gelten für alle API-Schlüssel pro Eigentümer, der entweder ein Benutzer oder eine Gruppe sein kann. Diese Grenzen werden unabhängig von der Herkunft der Anfragen konsequent durchgesetzt – egal, ob sie von HttpService, Webanwendungen oder anderen Quellen stammen.
Im Spiel mit HttpService
Wenn Sie Endpunkte im Spiel über HttpService aufrufen, tragen Anfragen ebenfalls zum festen Limit von 500 HTTP-Anfragen pro Minute und Roblox-Spielserver bei. Siehe HTTP-Anfragen im Spiel für weitere Details.
OAuth 2.0
Für OAuth 2.0 gelten Ratenbegrenzungen pro Zugriffstoken. Da jedes Zugriffstoken eine einzigartige Kombination aus Benutzer und Anwendung darstellt, erhält jeder Benutzer, der Ihre App verwendet, sein eigenes unabhängiges Ratenbegrenzungsquorum.
Umgang mit Ratenbegrenzungen
Schreiben Sie Ihren Code so, dass er HTTP 429 (Zu viele Anfragen) Antworten aufgrund dokumentierter Limits, Missbrauchsprävention oder Hochlastszenarien erwartet und behandelt. Bei einer Ratenbegrenzung überprüfen Sie den Header retry-after als Leitfaden, wann Sie es erneut versuchen sollten. Wenn kein retry-after-Header vorhanden ist, implementieren Sie eine exponentielle Backoff-Wiederholungsstrategie.