HTTP Error 429 (Too Many Requests) Nedir? Anlamı ve Çözümü

Önemli bilgi

HTTP 429 Too Many Requests, sunucunun hızınızı sınırladığı anlamına gelir: siz, IP adresiniz veya uygulamanız bir zaman diliminde izin verilenden fazla istek gönderdi. Ziyaretçiyseniz sayfayı yenilemeyi bırakıp bekleyin (varsa Retry-After başlığı ne kadar bekleyeceğinizi söyler) ya da VPN olmadan deneyin. Geliştiriciyseniz Retry-After'a uyun ve jitter'lı geri çekilmeyle yeniden deneyin. Site sahibiyseniz 429'u hangi katmanın (CDN, WAF veya web sunucusu) verdiğini bulun ve gerçek kullanıcılar için sınırlarını yükseltin.

Şimdi kontrol edin

HTTP 429 Too Many Requests hatası düzeltme rehberi: hız sınırlama şeması ve adım adım sorun giderme çözümleri
HTTP 429 Too Many Requests hatası düzeltme rehberi: hız sınırlama şeması ve adım adım sorun giderme çözümleri
Okumaya başlayın
  1. HTTP 429 Hatası Nedir?
  2. 429 Hatası Nasıl Görünür?
  3. Hız Sınırlama (Rate Limiting) Nasıl Çalışır?
  4. HTTP 429 Hatasının Yaygın Nedenleri
  5. 429 Hatası Nasıl Düzeltilir (Ziyaretçiler İçin)
  6. 1. Bekleyin ve Tekrar Deneyin
  7. 2. Sitenin Çerezlerini Temizleyin
  8. 3. VPN veya Proxy Bağlantısını Kesin
  9. 4. Tarayıcı Eklentilerini Devre Dışı Bırakın
  10. 5. IP Adresinizin Paylaşılıp Paylaşılmadığını Kontrol Edin
  11. 429 Hatası Nasıl Düzeltilir (Geliştiriciler İçin)
  12. 1. Üstel Geri Çekilme (Exponential Backoff) Uygulayın
  13. 2. Retry-After Başlığına Uyun
  14. 3. API Yanıtlarını Önbelleğe Alın
  15. 4. Yoklama Yerine Webhook Kullanın
  16. 5. Daha Yüksek Hız Sınırları Talep Edin
  17. 429 Hatası Nasıl Düzeltilir (Site Sahipleri İçin)
  18. 1. Hız Sınırlarınızı Ayarlayın
  19. 2. Güvenilir IP'leri Beyaz Listeye Alın
  20. 3. WAF ve CDN Ayarlarını Kontrol Edin
  21. 4. Sunucu Performansını Optimize Edin
  22. 429 ile Diğer HTTP Hataları Arasındaki Fark
  23. 429 Hataları Nasıl Önlenir?
  24. Sıkça Sorulan Sorular

HTTP 429 Hatası Nedir?

HTTP 429 Too Many Requests, sunucunun hızınızı sınırladığı anlamına gelir: siz, IP adresiniz veya uygulamanız belirli bir süre içinde izin verilenden fazla istek gönderdi. Bu geçicidir. Sunucu çalışıyor; yalnızca şimdilik size yanıt vermemeyi seçiyor.

Kod, tam da bu durum için RFC 6585 ile (2012) eklendi ve yanıt, ne kadar beklemeniz gerektiğini söyleyen bir Retry-After başlığı taşıyabilir. Yoğun sitelerde gezinirken, API çağrılarında, toplu indirmelerde veya IP adresini çok kişinin paylaştığı bir VPN'de karşınıza çıkar.

Komşu kodlardan farklıdır: 401 oturum açmadığınız, 403 erişim izniniz olmadığı anlamına gelir; 429 ise iznin olduğu, ama fazla hızlı gittiğiniz anlamına gelir.

Bir sunucunun hız sınırı başlıklarını görün (Retry-After, RateLimit)

429 Hatası Nasıl Görünür?

Mesaj, yanıtı kimin verdiğine bağlıdır. İnsanların en çok aradıkları şunlar:

Nerede görürsünüzNe yazar
Chrome / Edge (sunucu sayfa göndermedi)Bu sayfa çalışmıyor · Sorun devam ederse site sahibiyle iletişime geçin. · HTTP ERROR 429
nginx429 Too Many Requests (altında "nginx" yazar)
Cloudflare hız sınırlamaError 1015: You are being rate limited
JavaScript (Axios)Request failed with status code 429
Python (requests)429 Client Error: Too Many Requests for url: …
curlHTTP/2 429 (veya HTTP/1.1 429 Too Many Requests)
Bir API{"error": "rate_limit_exceeded"} gibi bir JSON gövdesi, çoğunlukla Retry-After ile birlikte

Sunucuda bir şeyin bozulduğu anlamına gelen 500 hatasının aksine, 429 HTTP'nin diliyle bir istemci hatasıdır: sunucu kendini çok fazla istekten koruyor.

Hız Sınırlama (Rate Limiting) Nasıl Çalışır?

Hız sınırlama, sunucuların bir istemcinin belirli bir zaman penceresinde kaç istek gönderebileceğini denetlemek için kullandığı bir tekniktir. Sınır aşıldığında sunucu genellikle 429 döndürür (bazıları bunun yerine 403 veya 503 verir).

Yaygın olarak kullanılan birkaç hız sınırlama algoritması vardır:

  • Sabit Pencere (Fixed Window) — Sunucu, her zaman penceresi başına N isteğe izin verir (örn. dakikada 100 istek). Sayaç sabit aralıklarla sıfırlanır.
  • Kayan Pencere (Sliding Window) — Sabit pencereye benzer, ancak zaman penceresi her istekle birlikte kayar. Bu yöntem pencere sınırlarındaki ani yoğunlukları önler.
  • Token Kovası (Token Bucket) — Sunucu, sabit bir hızda yenilenen token'lar atar. Her istek bir token tüketir. Token'lar bittiğinde istekler reddedilir.
  • Sızdıran Kova (Leaky Bucket) — İstekler, ani yoğunluk büyüklüğünden bağımsız olarak sabit bir hızda işlenir. Fazla istekler kuyruğa alınır veya düşürülür.

Birçok API sınırlarını yanıt başlıklarında duyurur. GitHub'da bunlar örneğin x-ratelimit-limit (saatte izin verilen istek), x-ratelimit-remaining, x-ratelimit-used ve x-ratelimit-reset (pencerenin ne zaman sıfırlanacağı, Unix saniyesi olarak) başlıklarıdır. Bir IETF taslağı aynı iş için standart RateLimit ve RateLimit-Policy başlıklarını önermektedir.

Bir hizmetin hangi algoritmayı ve hangi pencereyi kullandığını bilmek, istemcinizi sınırın içinde kalacak şekilde tasarlamanıza yardımcı olur.

HTTP 429 Hatasının Yaygın Nedenleri

Neden, hatayı kimin gördüğüne bağlıdır:

NedenKimleri etkilerAçıklama
API hız sınırı aşıldıGeliştiricilerHizmetin dakika/saat başına izin verdiğinden fazla API isteği gönderdiniz
Çok fazla sayfa isteğiZiyaretçilerBir sayfayı çok hızlı yenilediniz veya aynı anda çok sayıda sekme açtınız
Web kazıma / botlarGeliştiricilerBir siteye çok hızlı istek gönderen otomatik betikler hız sınırlarını tetikler
Kaba kuvvet korumasıZiyaretçilerÇok fazla başarısız giriş denemesi güvenlik hız sınırlamasını tetikledi
CDN veya WAF kurallarıHerkesCloudflare (Hata 1015), AWS WAF veya IP başına istekleri sayıp bir eşiğin üzerinde engelleyen benzer kurallar
Paylaşılan IP'de hız sınırlamaZiyaretçiler / VPN kullanıcılarıAynı IP'nin arkasındaki birden fazla kullanıcı (VPN, proxy, kurumsal ağ) birlikte sınırı aşıyor
Yanlış yapılandırılmış hız sınırlarıSite sahipleriSunucu tarafında çok sıkı ayarlanmış sınırlar meşru trafiği engelliyor
Eklenti veya tema sorunlarıSite sahipleriAşırı API çağrısı yapan WordPress eklentileri veya çok sık çalışan zamanlanmış görevler
Webhook fırtınalarıGeliştiricilerYanlış yapılandırılmış bir webhook, başarısız teslimatları sıkı bir döngüde yeniden deniyor

429 Hatası Nasıl Düzeltilir (Ziyaretçiler İçin)

Bir web sitesini gezerken 429 hatası görüyorsanız, deneyebileceğiniz çözümler aşağıda sıralanmıştır. En basit çözümden başlayarak ilerleyin.

1. Bekleyin ve Tekrar Deneyin

En basit çözüm beklemektir. 429 geçicidir: sunucu sizi engellemiyor, yalnızca yavaşlamanızı istiyor.

Süre, sitenin sınırına bağlıdır: bazıları bir dakika içinde sıfırlanır, bazıları saatlik veya günlüktür. Sayfa ya da API bir Retry-After başlığı gönderiyorsa, kesin bekleme süresi odur. Ardından sayfayı bir kez yükleyin.

Sürekli yenilemeyin: her yenileme bir istek daha demektir ve aynı sınıra sayılır.

2. Sitenin Çerezlerini Temizleyin

Bunun etkisi nadirdir, ancak bazı siteler istekleri oturum çerezi başına sayar. Diğer her yerden çıkış yapmadan yeni bir oturum almak için yalnızca o sitenin çerezlerini temizleyin:

  • Chrome / Edge: chrome://settings/content/all adresini açın (Edge: edge://settings/content/all), siteyi arayın ve verilerini silin
  • Firefox: Adres çubuğundaki asma kilide tıklayın → Çerezleri ve site verilerini temizle…
  • Safari: Safari → Ayarlar → Gizlilik → Web Sitesi Verilerini Yönet → siteyi bulun → Kaldır

Temizleme işleminden sonra siteyi tekrar ziyaret etmeden önce tarayıcıyı kapatıp yeniden açın.

3. VPN veya Proxy Bağlantısını Kesin

VPN veya proxy kullanıyorsanız IP adresinizi yüzlerce başka kullanıcıyla paylaşıyor olabilirsiniz. Bu kullanıcıların toplam istekleri sunucunun sınırını aştığında, o IP'deki herkes hız sınırına takılır.

VPN bağlantınızı kesip siteye normal internet bağlantınızla erişmeyi deneyin. 429 hatası ortadan kalkarsa sorun VPN'in IP'sindedir.

VPN'e ihtiyacınız varsa farklı bir sunucu konumuna geçin: o adresi daha az kişi paylaşıyor olabilir.

4. Tarayıcı Eklentilerini Devre Dışı Bırakın

Bazı eklentiler, ziyaret ettiğiniz sitelere arka planda istek gönderir: fiyat takip araçları, SEO araçları ve otomatik yenileme eklentileri toplamda bir hız sınırına ulaşabilir. (Reklam engelleyiciler genellikle tersini yapar ve istekleri azaltır.)

Test etmek için siteyi çoğu eklentinin kapalı olduğu bir gizli pencerede açın. Gizli pencere çerezsiz de başlar; yani 429 kaybolursa bir eklenti veya oturuma dayalı bir sınır söz konusudur.

Sorunlu eklentiyi bulmak için eklentileri tek tek devre dışı bırakın. Chrome'da chrome://extensions/ adresine gidip bunları ayrı ayrı kapatın.

5. IP Adresinizin Paylaşılıp Paylaşılmadığını Kontrol Edin

Pek çok kişi tek bir genel IP adresini paylaşabilir: bir ofis ya da okul ağı, bir mobil operatörün ağı (CGNAT) veya bir VPN sunucusu. Onların istekleri sizinkilerle aynı sınıra sayılır.

Böyle bir ağdaysanız siteyi kendi ev bağlantınızdan veya mobil veriyle yüklemek, sorunun paylaşılan adreste olup olmadığını gösterir. Sınır kendi adresinizdeyse, aşmak için ağ değiştirmek yerine sıfırlanmasını bekleyin. Mevcut genel IP'nizi IP Adresim Nedir ile kontrol edebilirsiniz.

429 Hatası Nasıl Düzeltilir (Geliştiriciler İçin)

Kodunuz 429 alıyorsa, API'nin izin verdiğinden daha hızlı istek gönderiyordur. Şu sırayla ilerleyin: Retry-After'ı okuyun, jitter'lı geri çekilmeyle yeniden deneyin, sonra gönderdiğiniz istek sayısını azaltın.

1. Üstel Geri Çekilme (Exponential Backoff) Uygulayın

Üstel geri çekilme standart yeniden deneme stratejisidir: 429'dan hemen sonra yeniden denemek yerine bekleme süresini her seferinde iki katına çıkarırsınız (1 saniye, 2, 4, 8…) ve birçok istemcinin aynı anda yeniden denememesi için jitter, yani rastgele bir ek gecikme eklersiniz.

Bu sürüm, sunucu geçerli bir Retry-After gönderirse onu (iki biçiminden biriyle) kullanır, aksi halde jitter'lı geri çekilmeye döner ve birkaç denemeden sonra vazgeçer. (Başka bir sitenin API'sini çağıran bir tarayıcıda, Retry-After yalnızca API onu Access-Control-Expose-Headers ile açığa çıkarırsa okunabilir.)

javascript
async function fetchWithBackoff(url, options = {}, maxRetries = 5) {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    const response = await fetch(url, options);
    if (response.status !== 429 || attempt === maxRetries) return response;

    // Retry-After is either a number of seconds or an HTTP date
    const header = response.headers.get('Retry-After');
    let delay = NaN;
    if (header) {
      const seconds = Number(header);
      delay = Number.isNaN(seconds) ? Date.parse(header) - Date.now() : seconds * 1000;
    }
    if (!Number.isFinite(delay)) delay = 2 ** attempt * 1000 + Math.random() * 1000; // backoff + jitter
    await new Promise((resolve) => setTimeout(resolve, Math.max(delay, 0)));
  }
}

2. Retry-After Başlığına Uyun

Bir sunucu 429 ile birlikte Retry-After gönderdiğinde, ne kadar bekleyeceğinizi tam olarak söyler. RFC 9110 iki biçime izin verir: saniye cinsinden bir sayı veya bir HTTP tarihi.

Retry-After: 60 60 saniye bekleyin demektir. Retry-After: Wed, 21 Oct 2026 07:28:00 GMT o ana kadar bekleyin demektir. Kendi geri çekilme mantığınızdan önce bunu kontrol edin: sunucu bunu kodunuzdan daha iyi bilir.

Python'da iki biçimi de ele alın ve sonsuza dek özyineleme yapmak yerine birkaç denemeden sonra durun:

python
import random
import time
from datetime import datetime, timezone
from email.utils import parsedate_to_datetime

import requests


def get_with_retry(url, max_retries=5):
    for attempt in range(max_retries + 1):
        response = requests.get(url)
        if response.status_code != 429 or attempt == max_retries:
            return response
        retry_after = response.headers.get("Retry-After", "")
        try:
            if retry_after.isdigit():
                wait = int(retry_after)
            else:  # an HTTP date
                wait = (parsedate_to_datetime(retry_after) - datetime.now(timezone.utc)).total_seconds()
        except (TypeError, ValueError):  # missing or unparseable: back off with jitter
            wait = 2 ** attempt + random.random()
        time.sleep(max(wait, 0))

3. API Yanıtlarını Önbelleğe Alın

Uygulamanız aynı API çağrısını birden fazla kez yapıyorsa, her seferinde API'ye istek göndermek yerine yanıtı önbelleğe alın. Bu yöntem istek sayınızı önemli ölçüde azaltır.

Sık erişilen veriler için bellek içi önbellek (Redis veya basit bir Map gibi) kullanın. Verinin ne sıklıkta değiştiğine göre makul bir TTL (yaşam süresi) belirleyin.

Örneğin, bir alan adının DNS kayıtlarını sorguluyorsanız, sonuçlar muhtemelen sonraki 5 dakika içinde değişmeyecektir — bunları önbelleğe alın.

javascript
const cache = new Map();
const CACHE_TTL = 5 * 60 * 1000; // 5 minutes

async function cachedFetch(url) {
  const cached = cache.get(url);
  if (cached && Date.now() - cached.time < CACHE_TTL) return cached.data;

  const response = await fetch(url);
  if (!response.ok) throw new Error(`HTTP ${response.status}`); // never cache errors (a 429 included)
  const data = await response.json();
  cache.set(url, { data, time: Date.now() });
  return data;
}

4. Yoklama Yerine Webhook Kullanın

Bir API'yi değişiklik var mı diye sürekli yokluyorsanız (örneğin her 10 saniyede sipariş durumunu kontrol etmek), hizmet destekliyorsa webhook'lara geçin.

Webhook'larda sunucu, bir şey değiştiğinde uygulamanıza güncellemeyi kendisi gönderir; sürekli yoklamaya gerek kalmaz. Bu, API çağrılarınızı saatte binlerceden yalnızca bir avuca düşürebilir.

Çoğu modern API (Stripe, GitHub, Twilio, Shopify) webhook destekler. Webhook yapılandırması için API belgelerine bakın.

5. Daha Yüksek Hız Sınırları Talep Edin

Gerçekten daha fazla API çağrısına ihtiyacınız varsa hizmet sağlayıcıyla iletişime geçin. Birçok API, ücretli planlar veya doğrulanmış uygulamalar için daha yüksek hız sınırları sunar.

Daha yüksek sınır isterken kullanım senaryonuzu açıklayın ve beklediğiniz istek hacmine dair tahminleri paylaşın. Aralarında Google'ınkilerin de bulunduğu birçok API'nin yüksek sınırlar için bir formu veya ücretli bir planı vardır.

Bazı API'ler ayrıca tek bir istekte birden fazla kaynağı almanızı sağlayan toplu (bulk) uç noktalar sunar ve toplam çağrı sayısını azaltır.

429 Hatası Nasıl Düzeltilir (Site Sahipleri İçin)

Ziyaretçileriniz veya API kullanıcılarınız 429 hatası alıyorsa sorun sunucu yapılandırmanızdadır. Sorunu teşhis etmenin ve düzeltmenin yolları aşağıdadır.

1. Hız Sınırlarınızı Ayarlayın

Gerçek kullanıcılar 429 alıyorsa önce hangi katmanın ilk yanıt verdiğini bulun: CDN veya WAF'ınız, web sunucunuz ya da uygulamanız. Sonra o katmanın sınırlarını ayarlayın.

nginx'te işi limit_req yapar. Varsayılan olarak 503 döndürdüğünü unutmayın: istemciler sunucunun çöktüğünü sanmak yerine yavaşlamaları gerektiğini bilsin diye limit_req_status 429; ekleyin:

nginx
# Define rate limit zone: 10 requests per second per IP
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;

server {
    location /api/ {
        # Up to 20 extra requests pass at once (nodelay); more than that get 429
        limit_req zone=api burst=20 nodelay;
        limit_req_status 429;
    }
}

burst parametresi kısa yoğunlukların 429 almadan geçmesini sağlar; onsuz, çok sayıda istek yapan normal bir sayfa yüklemesi bile sınıra takılabilir.

Apache'de yerleşik bir istek hızı sınırlayıcı yoktur: mod_ratelimit bant genişliğini sınırlar, istek sayısını değil, üçüncü taraf mod_evasive ise 403 döndürür. 429 için ters proxy, WAF veya uygulamanızı kullanın. Node.js'te express-rate-limit varsayılan olarak 429 döndürür.

2. Güvenilir IP'leri Beyaz Listeye Alın

Belirli istemciler (izleme hizmetleri, ödeme işlemcileri, kendi mikro servisleriniz) hız sınırına takılıyorsa IP adreslerini beyaz listeye alın.

nginx'te geo ve map, güvenilir adreslere boş bir anahtar verir ve nginx boş anahtarlı istekleri saymaz. Bu, önceki örnekteki limit_req_zone satırının yerine geçer:

nginx
geo $rate_limit {
    default        1;
    192.168.0.0/16 0;  # Internal network
    10.0.0.0/8     0;  # Internal network
    203.0.113.50   0;  # Payment processor
}

map $rate_limit $limit_key {
    0 "";
    1 $binary_remote_addr;
}

limit_req_zone $limit_key zone=api:10m rate=10r/s;

Arama motoru tarayıcılarına yanlışlıkla hız sınırı uygulamayın: Google 429'u sunucu hatası sayar ve taramayı yavaşlatır (Google Search Central). Gerçek Googlebot ve Bingbot isteklerini, o adın ileri sorgusuyla doğrulanan bir PTR Sorgulama ile doğrulayın ya da tarayıcıların yayımlanmış IP aralıklarını muaf tutun.

3. WAF ve CDN Ayarlarını Kontrol Edin

Cloudflare, AWS WAF, Sucuri veya başka bir güvenlik hizmeti kullanıyorsanız, istek sunucunuza ulaşmadan önce onların hız sınırlama kuralları yanıt verebilir.

Cloudflare, bir hız sınırlama kuralı tetiklendiğinde ziyaretçilere "Error 1015: You are being rate limited" gösterir. Kuralı panelin güvenlik kurallarında bulun, olaylarına bakın ve eşiği yükseltin ya da kapsamını daraltın.

AWS WAF'ın hız tabanlı kuralları, istekleri IP (veya başka bir anahtar) başına 1, 2, 5 veya 10 dakikalık bir pencerede sayar; asgari sınır 10'dur. Engellenen isteğe varsayılan olarak 403 verilir; istemciler yavaşlamaları gerektiğini bilsin diye özel bir 429 yanıtı tanımlayın.

Herhangi bir şeyi değiştirmeden önce gerçek ziyaretçileri botlardan ayırmak için CDN'in analizlerine bakın.

4. Sunucu Performansını Optimize Edin

Bazı hizmetler yük altındayken emniyet supabı olarak daha sıkı hız sınırı uygular. Sunucu performansını iyileştirmek, sınırları güvenle yükseltmenizi sağlar.

Temel optimizasyonlar: arka uç yükünü azaltmak için yanıt önbelleğini etkinleştirin, statik dosyalar için bir CDN kullanın, Redis veya Memcached ile veritabanı sorgu önbelleği ekleyin, veritabanı bağlantıları için bağlantı havuzu (connection pooling) kullanın ve trafik gerektiriyorsa yük dengeleme ile yatay ölçekleyin.

Önbellek başlıklarınızın doğru ayarlandığını doğrulamak için HTTP Başlık Kontrolü aracımızı kullanın.

429 ile Diğer HTTP Hataları Arasındaki Fark

429 hatasını diğer HTTP durum kodlarıyla karıştırmak kolaydır. Aralarındaki farklar şöyledir:

Durum KoduAdıAnlamıTemel Fark
401UnauthorizedKimlik doğrulaması gerekliEksik veya geçersiz kimlik bilgileri
403ForbiddenSunucu bu isteği reddediyorSunucu bu isteği reddediyor; yeniden oturum açmak genellikle işe yaramaz
429Too Many RequestsGeçici olarak hız sınırlandıİzniniz var, ama çok hızlısınız
500Internal Server ErrorSunucuda bir şey bozulduSunucu tarafında hata veya arıza
502Bad GatewayÜst sunucu başarısız olduProxy, arka uçtan hatalı yanıt aldı
503Service UnavailableAşırı yüklü veya bakımdaSunucu şu anda hiçbir isteği kabul edemiyor
504Gateway TimeoutÜst sunucu çok uzun sürdüArka uç zamanında yanıt vermedi

Temel ayrım: 429 kasıtlı ve geçicidir: sunucu şimdilik sizi geri çevirmeyi seçiyor. 5xx kodlarının çoğu sunucuda bir şeyin başarısız olduğunu gösterir; ancak 503 planlı bir bakım da olabilir, nginx'te ise bir hız sınırı.

429 Hataları Nasıl Önlenir?

Önlem almak, tedavi etmekten iyidir. 429 hatalarını en başından önlemek için en iyi uygulamalar şunlardır:

  • API belgelerini okuyun — Kod yazmadan önce hız sınırlarını bilin. Çoğu servis sınırlarını açıkça yayınlar.
  • Kullanımınızı izleyin — Sınıra ne kadar yakın olduğunuzu öğrenmek için X-RateLimit-Remaining başlıklarını takip edin.
  • İstekleri toplu gönderin — Tekil çağrılar yapmak yerine mümkün olduğunda toplu (bulk) uç noktaları kullanın.
  • İstekleri dağıtın — Ani yoğunluklar göndermek yerine API çağrılarını zaman içinde eşit olarak yayın.
  • API anahtarları kullanın — Kimlik doğrulanmış istekler genellikle anonim olanlardan daha yüksek hız sınırları alır.
  • Devre kesici (circuit breaker) uygulayın — Tekrarlanan 429 hataları alıyorsanız bir bekleme süresi boyunca istek göndermeyi tamamen durdurun.
  • Hız sınırı simülatörleriyle test edin — Hata işlemenizin çalıştığından emin olmak için geliştirme ortamında 429 yanıtlarını simüle edin.
  • 429 yanıtlarını kaydedin — İstek kalıplarınızı optimize etmek için hız sınırlamanın ne zaman ve nerede gerçekleştiğini izleyin.

Sunucunun hız sınırı başlıklarını kontrol edin

DNS Robot'un ücretsiz HTTP Başlık Kontrolü aracıyla herhangi bir sunucunun yanıt başlıklarını, RateLimit ve X-RateLimit-* dahil, kontrol edin (Retry-After çoğunlukla 429 ve 503 yanıtlarıyla gelir).

Kaynaklar

  1. RFC 6585 §4: 429 Too Many Requests, IETF
  2. RFC 9110 §10.2.3: Retry-After, IETF
  3. Rate limits for the REST API, GitHub Docs
  4. How HTTP status codes affect Google's crawlers, Google Search Central
  5. Error 1015, Cloudflare

Sıkça Sorulan Sorular

HTTP 429 hatası ne anlama gelir?

Too Many Requests: siz, IP adresiniz veya uygulamanız bir zaman diliminde sunucunun izin verdiğinden fazla istek gönderdiği için sunucu hızınızı sınırlıyor. Bu geçicidir; sunucu çalışıyor ve bir bekleyişten sonra yeniden yanıt verecek.

429 hatası ne kadar sürer?

Sitenin hız sınırı penceresi kadar: bazıları bir dakika içinde sıfırlanır, bazıları saatlik veya günlüktür. Yanıtta bir Retry-After başlığı varsa, saniye olarak ya da tarih olarak kesin bekleme süresini söyler. Bu sırada yenilemek sizi yalnızca sınırın üzerinde tutar.

429 hatası benim suçum mu?

Her zaman değil. Tarayıcınız veya uygulamanız çok fazla istek gönderiyor olabilir; ancak VPN'de, mobil ağda veya ofis ağında IP adresini birçok kişiyle paylaşırsınız ve onların istekleri de sayılır. Site sahipleri de sınırları çok düşük ayarlayabilir.

Chrome'da 429 Too Many Requests hatasını nasıl düzeltirim?

Yenilemeyi bırakıp birkaç dakika bekleyin, sonra sayfayı bir kez yükleyin. Sürerse gizli pencere deneyin (daha az eklenti, çerez yok); VPN'deyseniz veya paylaşılan bir ağdaysanız kendi bağlantınızdan kontrol edin.

VPN kullanmak 429 hatasına neden olabilir mi?

Evet. Her VPN sunucusunun IP adresini birçok kişi paylaşır; toplam istekleri bir sitenin sınırına ulaşabilir ve o adresteki herkes 429 alır. VPN bağlantısını kesin veya başka bir sunucuya geçin.

"Request failed with status code 429" ne demek?

Bu, bir JavaScript HTTP kütüphanesi olan Axios'un hata mesajıdır: kodunuzun çağırdığı API 429 ile yanıt verdi. Retry-After başlığını error.response.headers içinden okuyun (tarayıcıda yalnızca API onu CORS ile açığa çıkarırsa), o kadar bekleyin ve hemen değil, geri çekilmeyle yeniden deneyin.

Retry-After başlığı nedir?

Yeniden denemeden önce ne kadar bekleyeceğinizi söyleyen bir yanıt başlığıdır: saniye cinsinden bir sayı (Retry-After: 60) ya da bir HTTP tarihi (Retry-After: Wed, 21 Oct 2026 07:28:00 GMT). RFC 9110 iki biçimi de tanımlar, bu yüzden kodunuz ikisini de ele almalıdır.

nginx neden 429 yerine 503 döndürür?

nginx'in limit_req modülü, bir istemci sınırı aştığında varsayılan olarak 503 döndürür. İstemciler sunucunun çöktüğünü düşünmek yerine bir hız sınırı hatası görüp yavaşlasın diye aynı bağlamda limit_req_status 429; ekleyin.

Cloudflare Error 1015 nedir?

Cloudflare'ın hız sınırı sayfasıdır: "Error 1015: You are being rate limited". Site sahibi, bir ziyaretçinin kaç istek yapabileceğini sınırlayan bir kural koymuş ve siz onu aşmışsınız. Bekleyin, sonra yeniden deneyin; site sahipleri kuralı Cloudflare'ın güvenlik kurallarında ayarlar.

429 ile 503 hatası arasındaki fark nedir?

İkisi de geçicidir. 429, özellikle sizin çok fazla istek gönderdiğiniz anlamına gelir. 503 ise sunucunun şu anda, örneğin aşırı yük veya bakım nedeniyle, istek kabul edemediği anlamına gelir; ancak nginx'in hız sınırlayıcısı da 429'a ayarlanmadıkça 503 döndürür.

Yazar hakkında

Shaik Vahid

DNS Robot'un kurucusu. Vahid, yıllarca web hosting desteğinde müşterilerin alan adı, DNS kaydı, SSL sertifikası ve e-posta teslimi sorunlarını çözdü. DNS Robot'un araçlarını geliştiriyor ve bu rehberleri insanların gerçekten karşılaştığı hatalardan yola çıkarak yazıyor.

HTTP Başlık Kontrolü

HTTP yanıt başlıklarını ve güvenlik başlıkları derecelendirmesini analiz edin