Limity prędkości kontrolują liczbę żądań, które można wysłać do punktów końcowych w określonym przedziale czasu. Limity te pomagają zapewnić stabilność usługi i chronić zasoby Roblox przed nadużyciami.
Odkrywanie
Są dwa sposoby na określenie limitów prędkości: dokumentacja referencyjna i nagłówki odpowiedzi.
Strony dokumentacji
Publiczne limity prędkości można znaleźć w sekcji Limity dla każdego punktu końcowego na ich stronach dokumentacji. Zapoznaj się z tymi sekcjami, aby zrozumieć stosowane limity prędkości przed wysłaniem żądań.
Nagłówki odpowiedzi
Wiele odpowiedzi API zawiera nagłówki, które dostarczają informacji o bieżącym statusie limitu prędkości.
| Nagłówek | Opis |
|---|---|
| x-ratelimit-limit | Całkowita liczba żądań dozwolonych w ramach okna limitu prędkości. Może to obejmować wiele wartości limitów dla różnych przedziałów czasowych. |
| x-ratelimit-remaining | Liczba żądań, które możesz jeszcze wysłać z bieżącą autoryzacją. Gdy osiągnie 0, otrzymasz odpowiedzi HTTP 429. |
| x-ratelimit-reset | Liczba sekund pozostałych do zresetowania twojej kwoty limitu prędkości do pełnego limitu. |
Oto przykład nagłówków limitów prędkości w odpowiedzi API:
x-ratelimit-limit: 1000, 1000;w=60, 1000;w=60x-ratelimit-remaining: 998x-ratelimit-reset: 20
W tym przykładzie:
- Masz 998 żądań pozostałych z całkowitego limitu.
- Twoja kwota zresetuje się za 20 sekund.
Zachowanie
Zachowanie limitu prędkości różni się w zależności od metody autoryzacji i pochodzenia żądania, w tym czy wysyłasz żądania z gry Roblox.
Klucz API
Limity prędkości dla kluczy API są stosowane na wszystkich kluczach API dla właściciela, którym może być użytkownik lub grupa. Limity te są egzekwowane w sposób spójny, niezależnie od źródła żądań - czy to z HttpService, aplikacji internetowych, czy innych źródeł.
W grze z HttpService
Podczas wywoływania punktów końcowych w grze korzystając z HttpService, żądania również przyczyniają się do stałego limitu wynoszącego 500 żądań HTTP na minutę na serwerze gry Roblox. Zobacz Żądania HTTP w grze po więcej szczegółów.
OAuth 2.0
Limity prędkości OAuth 2.0 są stosowane dla każdego tokenu dostępu. Ponieważ każdy token dostępu reprezentuje unikalną kombinację użytkownika i aplikacji, każdy użytkownik korzystający z twojej aplikacji otrzymuje swoją niezależną kwotę limitów prędkości.
Obsługa limitów prędkości
Napisz swój kod tak, aby oczekiwał i obsługiwał odpowiedzi HTTP 429 (Za dużo żądań) z powodu dokumentowanych limitów, zapobiegania nadużyciom lub scenariuszy o wysokim obciążeniu. Kiedy zostaniesz ograniczony, sprawdź nagłówek odpowiedzi retry-after jako wskazówkę, kiedy spróbować ponownie. Jeśli nagłówek odpowiedzi retry-after nie jest obecny, wdroż strategię powtarzania z eksponencjalnym opóźnieniem.