> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limit Kontrol Listesi

> API ve endpoint'ler için rate limit kontrolü yapılandırabilir, kimlik bazlı limit tanımlayabilir ve aşırı kullanım koruması sağlayabilir. Her API ve endpoint için izin verilen mesaj sayısı, zaman aralığı süresi ve zaman aralığı birimi ayarlarını yapılandırabilir.

Bu politika ile her API ve endpoint için aşağıdaki ayarlar yapılabilir:

* **İzin Verilen Mesaj Sayısı (Permitted Message Count)**: Belirtilen zaman aralığında izin verilen maksimum istek sayısı.
* **Zaman Aralığı Süresi (Time Interval Period Length)**: Zaman aralığının uzunluğu.
* **Zaman Aralığı (Time Interval)**: Zaman aralığının birimi (saniye, dakika, saat, gün, ay).

Rate limit kontrolü şu şekilde çalışır:

<Steps>
  <Step title="İstek Analizi">
    İstek geldiğinde, hedef değişken değeri (örn. IP adresi) alınır.
  </Step>

  <Step title="Kimlik Kontrolü">
    Bu değerin hedef kimlik listesinde olup olmadığı kontrol edilir.
  </Step>

  <Step title="Rate Limit Kontrolü">
    Eğer değer hedef kimlik listesinde varsa veya regex ile eşleşiyorsa, ilgili endpoint için rate limit kontrolü yapılır.
  </Step>

  <Step title="Karar Verme">
    Eğer kullanıcı limitini aşmışsa istek reddedilir, aşmamışsa işleme devam edilir.
  </Step>

  <Step title="Yanıt ve İstatistikler">
    İsteğe yanıt verilirken, eğer yapılandırıldıysa, rate limit istatistikleri yanıt başlıklarına eklenir.
  </Step>
</Steps>

Bu yapılandırma, API'lerinizi aşırı kullanıma karşı korumak ve farklı kullanıcılar için farklı kullanım limitleri belirlemek için güçlü bir mekanizma sağlar.

**Rate Limit kontrol listesi sayfası ayarlarını içeren görsele aşağıda yer verilmiştir:**

<img src="https://mintcdn.com/apinizer/SVMnXyM0sugUkIQF/images/yonetici/rate-limit-list.png?fit=max&auto=format&n=SVMnXyM0sugUkIQF&q=85&s=4d4bfd26218148d039c042040c0c50d3" alt="Rate Limit Kontrol Listesi" width="1000" height="600" data-path="images/yonetici/rate-limit-list.png" />

Rate limit konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.

| Alan                                                                                                         | Açıklama                                                                                                                                                                                                                                                                                                                              |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| İsim<br />                                                                                                   | Konfigürasyonun kullanımını ve yönetimini kolaylaştırmak için isim yazılabilir. Konfigürasyon yönetimi ve seçimi sırasında bu isme ihtiyacınız olacaktır.                                                                                                                                                                             |
| Açıklama<br />                                                                                               | Konfigürasyonun kullanımını ve yönetimini kolaylaştırmak için açıklama yazılabilir.                                                                                                                                                                                                                                                   |
| İşletme Sırası<br />*(Execution Order)*                                                                      | Rate limit politikasının ne zaman uygulanacağını belirler. Rate limit kontrolleri her zaman "ALL" hattındaki politikalardan sonra çalışır ama FIRST seçildiğinde, endpoint üzerindeki diğer politikalardan önce, LAST seçildiğinde ise endpoint üzerindeki diğer politikalardan sonra uygulanır.                                      |
| Periyot Tipi<br />*(Interval Window Type)*                                                                   | Rate limit hesaplamasında kullanılacak zaman aralığının türünü belirler. `FIXED` veya `SLIDING` değerlerini alabilir. FIXED seçildiğinde, belirli bir süre içinde (örn. her saat başı) sabit bir sayıda istek kabul edilir. SLIDING seçildiğinde, son belirli süre içindeki (örn. son 1 saat) istek sayısı dikkate alınır.            |
| Cache Bağlantısı Zaman Aşım Süresi (saniye)<br />*(Cache Connection Timeout (second))*                       | Cache servisine bağlanırken beklenecek maksimum süreyi saniye cinsinden belirler.                                                                                                                                                                                                                                                     |
| Cache Bağlantı Hatası Eylemi<br />*(Action for Cache Connection Error)*                                      | Cache servisine bağlantı sırasında hata oluştuğunda yapılacak işlemi belirler. `FAIL` seçildiğinde bağlantı hatası durumunda istek reddedilir, `CONTINUE` seçildiğinde ise istek işlenmeye devam eder.                                                                                                                                |
| Rate Limit İstatistiklerini Response Header'da Göster<br />*(Show Rate Limit Statistics in Response Header)* | Rate limit bilgilerinin yanıt başlıklarında gösterilip gösterilmeyeceğini belirler. TRUE olarak ayarlandığında, yanıt başlıklarında kalan istek sayısı, limit değeri ve limitin yenileneceği süre gibi bilgiler eklenir (`RateLimit-Remaining, RateLimit-Limit, RateLimit-Reset, X-RateLimit-Identity, X-RateLimit-Type` başlıkları). |
| Uygulanan alan<br />*(Apply by Variable)*                                                                    | Rate limit uygulanacak kullanıcı veya istemciyi tanımlamak için kullanılacak değişkeni belirler. Bu, örneğin IP adresi, kullanıcı kimliği veya API anahtarı olabilir. Bu değişken değeri, kimlik belirleme için kullanılır.                                                                                                           |
| Hedef Kimlik Bilgileri için Regex Tanımları<br />*(Regular Expressions for Target Credentials)*              | Hedef kimlikleri belirlemek için kullanılan düzenli ifadelerdir. Sistemdeki kimlik değerlerini esnek bir şekilde eşleştirmek için kullanılır.                                                                                                                                                                                         |
| Hedef Kimlik Bilgileri<br />*(Target Credentials)*                                                           | Rate limit uygulanacak spesifik kimlik değerlerinin listesidir. Bu listede bulunan kimlik değerleri için rate limit uygulanır.                                                                                                                                                                                                        |
| API'ler ve Endpoint'ler<br />*(APIs and Endpoints)*                                                          | Rate limit politikasının uygulanacağı API'ler ve endpoint'lerin listesidir.                                                                                                                                                                                                                                                           |
