Glossar

Was ist Rate Limiting?

Rate Limiting ist eine serverseitige Abwehrmaßnahme, die begrenzt, wie viele Anfragen ein einzelner Client (identifiziert durch IP, Konto oder Sitzung) in einem bestimmten Zeitfenster stellen kann. Es dient dem Schutz der Infrastruktur, der Verhinderung von Missbrauch und der Sicherstellung einer fairen Ressourcennutzung.

Verstehen Sie, wie Websites und APIs hochvolumige Clients drosseln, die Algorithmen hinter Rate Limits (Token Bucket, Sliding Window, Fixed Window) und wie rotierende Proxys IP-basierte Obergrenzen umgehen.

Erklärt

Rate-Limiting ist die Methode, mit der Server sich vor Missbrauch schützen. Jede öffentlich zugängliche API und Website begrenzt die Anzahl der Anfragen, die ein einzelner Client in einem Zeitfenster senden kann -- `100 requests per IP per minute`, `5000 requests per API key per hour`, `30 logins per account per day`. Wenn ein Client das Limit überschreitet, gibt der Server eine 429-Too-Many-Requests-Antwort zurück (oder verlangsamt in manchen Fällen stillschweigend die Antworten, stellt die Anfrage in die Warteschlange oder beginnt mit der Ausgabe von CAPTCHAs).

Für Scraping- und Datenerfassungs-Workloads ist Rate-Limiting der operative Boden, der bestimmt, wie schnell Sie vorgehen können. Die naive Lösung -- weniger Anfragen senden -- begrenzt Ihren Durchsatz. Die eigentliche Lösung besteht darin, Anfragen über viele Identifikatoren (IPs, Konten, Sitzungs-IDs) zu verteilen, sodass kein einzelner Identifikator sein Limit überschreitet. Das ist der einzige Grund, warum Residential-Proxys als Produktkategorie existieren.

Serverseitige Rate-Limiting-Algorithmen gibt es in verschiedenen Formen. Token Bucket lässt den Client mit einer gleichmäßigen Rate bis zu einem Maximum Tokens ansammeln und erlaubt Bursts bis zur Maximalgröße. Sliding Window zählt Anfragen in einem gleitenden Zeitfenster und glättet das Limit. Fixed Window setzt den Zähler an Uhrzeitgrenzen zurück (pro Minute, pro Stunde). Jede Form hat unterschiedliche Auswirkungen darauf, wie Scraper Anfragen takten sollten.

So funktioniert es

Bei jeder eingehenden Anfrage identifiziert der Server den Client (anhand von IP, API-Schlüssel, Konto-ID oder Sitzungstoken) und prüft einen Zähler für diesen Identifikator im aktuellen Zeitfenster. Wenn der Zähler unter dem Limit liegt, wird die Anfrage durchgelassen und der Zähler erhöht. Wenn der Zähler über dem Limit liegt, gibt der Server 429 mit einem `Retry-After`-Header zurück, der angibt, wie lange gewartet werden soll.

Die meisten großen APIs verwenden eine Kombination von Identifikatoren: Dieselbe IP und dasselbe Konto treffen auf unterschiedliche Zähler mit unterschiedlichen Limits. Cloudflares Rate-Limit-Regeln können beispielsweise ein Limit nach IP, URL-Pfad, Sitzung oder einer beliebigen Kombination davon festlegen. Einige fortgeschrittene Systeme verwenden Leaky-Bucket- oder Sliding-Window-Counter-Varianten für eine gleichmäßigere Durchsetzung.

Typen

Token Bucket

Ein Bucket füllt sich mit Tokens in einem gleichmäßigen Tempo bis zu einer Obergrenze. Jede Anfrage verbraucht ein Token. Erlaubt Bursts bis zur Bucket-Größe, über die Zeit geglättet. Der häufigste Algorithmus beim modernen API Rate Limiting.

Leaky Bucket

Anfragen treten in eine Warteschlange (Bucket) ein, die sich mit einer festen Rate leert. Überschüssige Anfragen laufen über und werden abgelehnt. Glättet Bursts strenger als der Token Bucket.

Festes Fenster

Der Zähler wird an Taktgrenzen zurückgesetzt (jede Minute, jede Stunde). Einfach zu implementieren, hat jedoch Burst-Probleme an Fenstergrenzen (ein Client kann das Doppelte des Limits senden, indem er zwei Fenster überspannt).

Gleitendes Fenster

Der Zähler betrachtet die letzten N Sekunden statt diskreter Fenster. Gleichmäßigere Durchsetzung als beim festen Fenster. Gleitendes-Fenster-Log und gleitender Fensterzähler sind gängige Varianten.

Adaptives / verhaltensbasiertes Rate Limiting

Limits passen sich basierend auf Anforderungsmustern und Risikobewertung an. Wird von Anti-Bot-Anbietern (Cloudflare, Datadome) verwendet - demselben Client können je nachdem, wie 'echt' der Traffic aussieht, 1000 Anfragen/Minute oder nur 10 erlaubt werden.

Häufige Anwendungsfälle

Schutz öffentlicher APIs vor Missbrauch
Verhinderung von Credential-Stuffing-Angriffen (Login-Rate-Limits)
Verwaltung von Infrastrukturkosten im großen Maßstab
Durchsetzung fairer Nutzungsstufen für Kunden
Verlangsamung von Scrapern und Content-Missbrauch
Drosselung von Wiederholungsstürmen bei Ausfällen
FAQ

Häufig gefragt FAQ-Fragen

Häufige Fragen zu rate-limiting.

Durch die Verteilung von Anfragen auf viele IPs. Wenn ein Ziel das Rate-Limit bei 60 Anfragen pro IP pro Minute setzt und Sie pro Anfrage durch einen Residential-Pool von 10.000 IPs rotieren, können Sie theoretisch 600.000 Anfragen pro Minute gegen das Ziel senden, ohne dass eine einzelne IP ihr Limit überschreitet. In der Praxis spielen auch Verhaltenssignale eine Rolle, aber IP-Rotation ist die grundlegende Technik.