> ## 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.

# Client Route Ayarları

> Client Route ayarlarını yapılandırarak API Proxy'lerinize gelen istekleri path, host, header ve method bazlı dinamik yönlendirme kuralları ile yönetebilirsiniz. Aynı relative path'e sahip birden fazla API Proxy oluşturabilir ve bunlar arasında esnek yönlendirme yapabilirsiniz.

Client Route, API Proxy'lerinize gelen isteklerin nasıl yönlendirileceğini belirleyen yapılandırma ayarlarıdır. Client Route kavramı hakkında detaylı bilgi için [Client Route](/tr/concepts/temel-kavramlar/client-route) sayfasına bakabilirsiniz.

## Client Route Özellikleri

Genel Bakış:

<img src="https://mintcdn.com/apinizer/brWu4H3JyK0OgbJV/images/develop/api-proxy-olusturma/client-route.png?fit=max&auto=format&n=brWu4H3JyK0OgbJV&q=85&s=67085b5280b9d8700dfeab93a8b05d0a" alt="Image 2024 9 9 15 35 35 Pn" width="1000" className="mr-auto" data-path="images/develop/api-proxy-olusturma/client-route.png" />

Client Route özelliği ile aşağıdaki yönlendirme seçeneklerini kullanabilirsiniz:

<CardGroup cols={2}>
  <Card title="Çoklu Path" icon="layer-group">
    Bir API Proxy'ye birden fazla relative path tanımlayabilirsiniz
  </Card>

  <Card title="Host Bazlı Yönlendirme" icon="globe">
    Host bilgisine göre farklı API Proxy'lere yönlendirme yapabilirsiniz
  </Card>

  <Card title="Header Bazlı Yönlendirme" icon="file-lines">
    HTTP header değerlerine göre yönlendirme kuralları oluşturabilirsiniz
  </Card>

  <Card title="Method Bazlı Yönlendirme" icon="code">
    HTTP method bazlı yönlendirme yapabilirsiniz
  </Card>
</CardGroup>

<Info>
  Bu özellik geliştirilmeden önce, her API Proxy için yalnızca tek bir benzersiz (unique) relative path tanımlanabiliyordu. Yeni özellik ile aynı relative path'e sahip birden fazla API Proxy oluşturulabilir ve bunlar arasında host, header veya method bilgilerine göre dinamik yönlendirme yapılabilir.
</Info>

## Yönlendirme Öncelik Sırası

Gateway, gelen istekleri aşağıdaki öncelik sırasına göre değerlendirir:

<CardGroup cols={4}>
  <Card title="1. Relative Path" icon="1">
    En yüksek öncelik
  </Card>

  <Card title="2. Hosts" icon="2">
    Host header kontrolü
  </Card>

  <Card title="3. Headers" icon="3">
    Header kontrolü
  </Card>

  <Card title="4. Methods" icon="4">
    En düşük öncelik
  </Card>
</CardGroup>

## Eşleştirme Mantığı

### Hosts (OR Mantığı)

Birden fazla host tanımlandığında **OR** mantığı ile çalışır. Yani tanımlanan hostlardan **herhangi birinin** eşleşmesi yeterlidir.

**Örnek:**

```
Hosts: hostname_x.com, hostname_y.com
```

İstekteki Host header değeri `hostname_x.com` veya `hostname_y.com` ise koşul sağlanır.

### Headers (AND Mantığı)

Birden fazla header tanımlandığında **AND** mantığı ile çalışır. Yani tanımlanan **tüm header'ların** eşleşmesi gerekir.

**Örnek:**

```
Headers: testmode:true, test:true
```

İstekte hem `testmode: true` hem de `test: true` header'ları mevcut olmalıdır.

### Path Eşleştirme

* Relative path eşleştirmesi en yüksek önceliğe sahiptir
* Daha spesifik (uzun) path'ler, daha genel (kısa) path'lerden önce değerlendirilir
* Tam eşleşme bulunamazsa, en yakın parent path kullanılır

### Method Eşleştirme

* Method kontrolü en düşük önceliğe sahiptir
* Belirtilmezse tüm HTTP methodları kabul edilir

## Wildcard Hostname Kullanımı

Apinizer, host tanımlamalarında esneklik sağlamak için **wildcard (joker karakter)** kullanımını destekler. Wildcard hostname'ler, belirli bir pattern'e uyan tüm Host header değerlerinin koşulu sağlamasına ve böylece ilgili Route ile eşleşmesine olanak tanır.

### Wildcard Kuralları

<Warning>
  **Wildcard Kuralları:**

  * Domain'in **en solundaki** veya **en sağındaki** label'ında yalnızca **bir adet** asterisk (\*) içerebilir
  * Asterisk, domain'in başında veya sonunda kullanılabilir
</Warning>

### Wildcard Örnekleri

<CardGroup cols={2}>
  <Card title="Sol Taraf Wildcard" icon="arrow-left">
    ```
    *.example.com
    ```

    **Eşleşen Host'lar:**

    * a.example.com
    * x.y.example.com
    * api.example.com
    * test.subdomain.example.com
  </Card>

  <Card title="Sağ Taraf Wildcard" icon="arrow-right">
    ```
    example.*
    ```

    **Eşleşen Host'lar:**

    * example.com
    * example.org
    * example.net
    * example.io
  </Card>
</CardGroup>

## Örnek Senaryo

Aşağıdaki tabloda 5 farklı API Proxy ve bunlara tanımlanmış Client Route yapılandırmaları gösterilmektedir:

| Proxy ID | Relative Path        | Methods | Hosts (OR)                         | Headers (AND)                |
| -------- | -------------------- | ------- | ---------------------------------- | ---------------------------- |
| 1        | `/jokes`             | -       | -                                  | `testmode:true`, `test:true` |
| 2        | `/jokes`             | -       | `hostname_x.com`, `hostname_y.com` | -                            |
| 3        | `/jokes1/endpoint_x` | -       | -                                  | -                            |
| 4        | `/jokes1`            | -       | -                                  | -                            |
| 5        | `/jokes`             | -       | -                                  | -                            |

## Yönlendirme Örnekleri

Bu yapılandırmaya göre gelen istekler şu şekilde yönlendirilir:

<AccordionGroup>
  <Accordion title="Örnek 1: Temel Yönlendirme">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes
    ```

    **Sonuç:** Proxy 5'e yönlendirilir (herhangi bir koşul sağlanmadığı için varsayılan proxy)

    <Tip>
      Path eşleşti ancak host ve header koşulları sağlanmadığı için en basit yapılandırmaya sahip Proxy 5 seçilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 2: Host Bazlı Yönlendirme">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes
    Host: hostname_x.com
    ```

    **Sonuç:** Proxy 2'ye yönlendirilir (host koşulu sağlandı)

    <Tip>
      Host önceliği header'dan yüksek olduğu için Proxy 2 seçilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 3: Eksik Header ile Yönlendirme">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes
    testmode: true
    ```

    **Sonuç:** Proxy 5'e yönlendirilir (Proxy 1 için her iki header gerekli, sadece biri sağlandı)

    <Tip>
      Header'lar AND mantığı ile çalıştığı için tüm header'ların eşleşmesi gerekir. Eksik header durumunda bir sonraki uygun proxy seçilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 4: Tam Header Eşleşmesi">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes
    testmode: true
    test: true
    ```

    **Sonuç:** Proxy 1'e yönlendirilir (tüm header koşulları sağlandı)

    <Tip>
      Tüm header koşulları sağlandığı için Proxy 1 seçilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 5: Path Önceliği - Temel Path">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes1
    ```

    **Sonuç:** Proxy 4'e yönlendirilir (path tam eşleşme)

    <Tip>
      Path önceliği en yüksek olduğu için tam eşleşen path'e sahip Proxy 4 seçilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 6: Path Önceliği - Uzun Path">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes1/endpoint_x
    ```

    **Sonuç:** Proxy 3'e yönlendirilir (daha spesifik path öncelikli)

    <Tip>
      Daha spesifik (uzun) path'ler, daha genel (kısa) path'lerden önce değerlendirilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 7: Path ile Alt Yol">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes1/endpoint_x/endpoint_y
    ```

    **Sonuç:** Proxy 3'e yönlendirilir (en yakın parent path eşleşmesi)

    <Tip>
      Tam eşleşme bulunamazsa, en yakın parent path kullanılır.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 8: Path Eşleşmesi - Farklı Alt Yol">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes1/endpoint_y
    ```

    **Sonuç:** Proxy 4'e yönlendirilir (parent path olarak /jokes1 eşleşti)

    <Tip>
      `/jokes1/endpoint_y` path'i için tam eşleşme yok, bu yüzden parent path olan `/jokes1` eşleşmesi kullanılır.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 9: Host ve Header Kombinasyonu">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes
    Host: hostname_x.com
    testmode: true
    test: true
    ```

    **Sonuç:** Proxy 2'ye yönlendirilir (host, header'dan daha yüksek önceliğe sahip)

    <Tip>
      Host önceliği header'dan yüksek olduğu için, host koşulu sağlandığında header koşulları göz ardı edilir ve Proxy 2 seçilir.
    </Tip>
  </Accordion>

  <Accordion title="Örnek 10: Farklı Path ile Host ve Header">
    **İstek:**

    ```
    GET https://<ACCESS_URL>/jokes1
    Host: hostname_x.com
    testmode: true
    test: true
    ```

    **Sonuç:** Proxy 4'e yönlendirilir (path önceliği en yüksek, host ve header'lar göz ardı edilir)

    <Tip>
      Path önceliği en yüksek olduğu için, path eşleşmesi sağlandığında host ve header koşulları göz ardı edilir.
    </Tip>
  </Accordion>
</AccordionGroup>

## Routing Kombinasyon Tablosu

Bu tablo API Proxy açısından, API Proxy'nin nasıl seçildiğini göstermektedir:

| Durum         | Açıklama                                                                                            |
| ------------- | --------------------------------------------------------------------------------------------------- |
| **Yok**       | API proxy tanımında bulunmamaktadır. Client'ın gönderdiği kontrol edilmez.                          |
| **Eşleşti**   | API proxy tanımında bulunmaktadır. Client'ın gönderdiği kontrol edilir, beklenen değeri gönderdi.   |
| **Eşleşmedi** | API proxy tanımında bulunmaktadır. Client'ın gönderdiği kontrol edilir, beklenen değeri göndermedi. |

Aşağıdaki tablo, farklı kombinasyonlarda API Proxy'nin nasıl seçildiğini gösterir:

| #  | HOST      | PATH      | METHOD    | HEADER    | SONUÇ        | AÇIKLAMA                                                      |
| -- | --------- | --------- | --------- | --------- | ------------ | ------------------------------------------------------------- |
| 1  | Yok       | Yok       | Yok       | Yok       | ✓ SEÇİLİR    | Hiçbir kriter tanımlı değil                                   |
| 2  | Yok       | Yok       | Yok       | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HEADER)                             |
| 3  | Yok       | Yok       | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 4  | Yok       | Yok       | Eşleşti   | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (METHOD)                             |
| 5  | Yok       | Yok       | Eşleşti   | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (METHOD, HEADER)                     |
| 6  | Yok       | Yok       | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 7  | Yok       | Yok       | Eşleşmedi | Yok       | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 8  | Yok       | Yok       | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 9  | Yok       | Yok       | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | METHOD, HEADER eşleşmediği için routing yapılamaz             |
| 10 | Yok       | Eşleşti   | Yok       | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (PATH)                               |
| 11 | Yok       | Eşleşti   | Yok       | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (PATH, HEADER)                       |
| 12 | Yok       | Eşleşti   | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 13 | Yok       | Eşleşti   | Eşleşti   | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (PATH, METHOD)                       |
| 14 | Yok       | Eşleşti   | Eşleşti   | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (PATH, METHOD, HEADER)               |
| 15 | Yok       | Eşleşti   | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 16 | Yok       | Eşleşti   | Eşleşmedi | Yok       | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 17 | Yok       | Eşleşti   | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 18 | Yok       | Eşleşti   | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | METHOD, HEADER eşleşmediği için routing yapılamaz             |
| 19 | Yok       | Eşleşmedi | Yok       | Yok       | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 20 | Yok       | Eşleşmedi | Yok       | Eşleşti   | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 21 | Yok       | Eşleşmedi | Yok       | Eşleşmedi | ✗ REDDEDİLİR | PATH, HEADER eşleşmediği için routing yapılamaz               |
| 22 | Yok       | Eşleşmedi | Eşleşti   | Yok       | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 23 | Yok       | Eşleşmedi | Eşleşti   | Eşleşti   | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 24 | Yok       | Eşleşmedi | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | PATH, HEADER eşleşmediği için routing yapılamaz               |
| 25 | Yok       | Eşleşmedi | Eşleşmedi | Yok       | ✗ REDDEDİLİR | PATH, METHOD eşleşmediği için routing yapılamaz               |
| 26 | Yok       | Eşleşmedi | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | PATH, METHOD eşleşmediği için routing yapılamaz               |
| 27 | Yok       | Eşleşmedi | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | PATH, METHOD, HEADER eşleşmediği için routing yapılamaz       |
| 28 | Eşleşti   | Yok       | Yok       | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST)                               |
| 29 | Eşleşti   | Yok       | Yok       | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, HEADER)                       |
| 30 | Eşleşti   | Yok       | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 31 | Eşleşti   | Yok       | Eşleşti   | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, METHOD)                       |
| 32 | Eşleşti   | Yok       | Eşleşti   | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, METHOD, HEADER)               |
| 33 | Eşleşti   | Yok       | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 34 | Eşleşti   | Yok       | Eşleşmedi | Yok       | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 35 | Eşleşti   | Yok       | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 36 | Eşleşti   | Yok       | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | METHOD, HEADER eşleşmediği için routing yapılamaz             |
| 37 | Eşleşti   | Eşleşti   | Yok       | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, PATH)                         |
| 38 | Eşleşti   | Eşleşti   | Yok       | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, PATH, HEADER)                 |
| 39 | Eşleşti   | Eşleşti   | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 40 | Eşleşti   | Eşleşti   | Eşleşti   | Yok       | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, PATH, METHOD)                 |
| 41 | Eşleşti   | Eşleşti   | Eşleşti   | Eşleşti   | ✓ SEÇİLİR    | Tüm tanımlı kriterler OK (HOST, PATH, METHOD, HEADER)         |
| 42 | Eşleşti   | Eşleşti   | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HEADER eşleşmediği için routing yapılamaz                     |
| 43 | Eşleşti   | Eşleşti   | Eşleşmedi | Yok       | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 44 | Eşleşti   | Eşleşti   | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | METHOD eşleşmediği için routing yapılamaz                     |
| 45 | Eşleşti   | Eşleşti   | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | METHOD, HEADER eşleşmediği için routing yapılamaz             |
| 46 | Eşleşti   | Eşleşmedi | Yok       | Yok       | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 47 | Eşleşti   | Eşleşmedi | Yok       | Eşleşti   | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 48 | Eşleşti   | Eşleşmedi | Yok       | Eşleşmedi | ✗ REDDEDİLİR | PATH, HEADER eşleşmediği için routing yapılamaz               |
| 49 | Eşleşti   | Eşleşmedi | Eşleşti   | Yok       | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 50 | Eşleşti   | Eşleşmedi | Eşleşti   | Eşleşti   | ✗ REDDEDİLİR | PATH eşleşmediği için routing yapılamaz                       |
| 51 | Eşleşti   | Eşleşmedi | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | PATH, HEADER eşleşmediği için routing yapılamaz               |
| 52 | Eşleşti   | Eşleşmedi | Eşleşmedi | Yok       | ✗ REDDEDİLİR | PATH, METHOD eşleşmediği için routing yapılamaz               |
| 53 | Eşleşti   | Eşleşmedi | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | PATH, METHOD eşleşmediği için routing yapılamaz               |
| 54 | Eşleşti   | Eşleşmedi | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | PATH, METHOD, HEADER eşleşmediği için routing yapılamaz       |
| 55 | Eşleşmedi | Yok       | Yok       | Yok       | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 56 | Eşleşmedi | Yok       | Yok       | Eşleşti   | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 57 | Eşleşmedi | Yok       | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HOST, HEADER eşleşmediği için routing yapılamaz               |
| 58 | Eşleşmedi | Yok       | Eşleşti   | Yok       | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 59 | Eşleşmedi | Yok       | Eşleşti   | Eşleşti   | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 60 | Eşleşmedi | Yok       | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HOST, HEADER eşleşmediği için routing yapılamaz               |
| 61 | Eşleşmedi | Yok       | Eşleşmedi | Yok       | ✗ REDDEDİLİR | HOST, METHOD eşleşmediği için routing yapılamaz               |
| 62 | Eşleşmedi | Yok       | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | HOST, METHOD eşleşmediği için routing yapılamaz               |
| 63 | Eşleşmedi | Yok       | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | HOST, METHOD, HEADER eşleşmediği için routing yapılamaz       |
| 64 | Eşleşmedi | Eşleşti   | Yok       | Yok       | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 65 | Eşleşmedi | Eşleşti   | Yok       | Eşleşti   | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 66 | Eşleşmedi | Eşleşti   | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HOST, HEADER eşleşmediği için routing yapılamaz               |
| 67 | Eşleşmedi | Eşleşti   | Eşleşti   | Yok       | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 68 | Eşleşmedi | Eşleşti   | Eşleşti   | Eşleşti   | ✗ REDDEDİLİR | HOST eşleşmediği için routing yapılamaz                       |
| 69 | Eşleşmedi | Eşleşti   | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HOST, HEADER eşleşmediği için routing yapılamaz               |
| 70 | Eşleşmedi | Eşleşti   | Eşleşmedi | Yok       | ✗ REDDEDİLİR | HOST, METHOD eşleşmediği için routing yapılamaz               |
| 71 | Eşleşmedi | Eşleşti   | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | HOST, METHOD eşleşmediği için routing yapılamaz               |
| 72 | Eşleşmedi | Eşleşti   | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | HOST, METHOD, HEADER eşleşmediği için routing yapılamaz       |
| 73 | Eşleşmedi | Eşleşmedi | Yok       | Yok       | ✗ REDDEDİLİR | HOST, PATH eşleşmediği için routing yapılamaz                 |
| 74 | Eşleşmedi | Eşleşmedi | Yok       | Eşleşti   | ✗ REDDEDİLİR | HOST, PATH eşleşmediği için routing yapılamaz                 |
| 75 | Eşleşmedi | Eşleşmedi | Yok       | Eşleşmedi | ✗ REDDEDİLİR | HOST, PATH, HEADER eşleşmediği için routing yapılamaz         |
| 76 | Eşleşmedi | Eşleşmedi | Eşleşti   | Yok       | ✗ REDDEDİLİR | HOST, PATH eşleşmediği için routing yapılamaz                 |
| 77 | Eşleşmedi | Eşleşmedi | Eşleşti   | Eşleşti   | ✗ REDDEDİLİR | HOST, PATH eşleşmediği için routing yapılamaz                 |
| 78 | Eşleşmedi | Eşleşmedi | Eşleşti   | Eşleşmedi | ✗ REDDEDİLİR | HOST, PATH, HEADER eşleşmediği için routing yapılamaz         |
| 79 | Eşleşmedi | Eşleşmedi | Eşleşmedi | Yok       | ✗ REDDEDİLİR | HOST, PATH, METHOD eşleşmediği için routing yapılamaz         |
| 80 | Eşleşmedi | Eşleşmedi | Eşleşmedi | Eşleşti   | ✗ REDDEDİLİR | HOST, PATH, METHOD eşleşmediği için routing yapılamaz         |
| 81 | Eşleşmedi | Eşleşmedi | Eşleşmedi | Eşleşmedi | ✗ REDDEDİLİR | HOST, PATH, METHOD, HEADER eşleşmediği için routing yapılamaz |

## Önemli Notlar

<AccordionGroup>
  <Accordion title="Path Eşleştirme">
    * Relative path eşleştirmesi en yüksek önceliğe sahiptir
    * Daha spesifik (uzun) path'ler, daha genel (kısa) path'lerden önce değerlendirilir
    * Tam eşleşme bulunamazsa, en yakın parent path kullanılır
  </Accordion>

  <Accordion title="Host Eşleştirme">
    * Birden fazla host tanımlanabilir
    * Hostlar **OR** mantığı ile çalışır
    * İstekteki host değeri, tanımlanan hostlardan herhangi biriyle eşleşirse koşul sağlanır
  </Accordion>

  <Accordion title="Header Eşleştirme">
    * Birden fazla header tanımlanabilir
    * Header'lar **AND** mantığı ile çalışır
    * İstekte tanımlanan tüm header'lar mevcut olmalıdır
    * Eksik veya hatalı header durumunda bir sonraki uygun proxy'ye geçilir
  </Accordion>

  <Accordion title="Method Eşleştirme">
    * Method kontrolü en düşük önceliğe sahiptir
    * Belirtilmezse tüm HTTP methodları kabul edilir
  </Accordion>
</AccordionGroup>

<Info>
  Client Route özelliği, API Gateway'inizde karmaşık yönlendirme senaryolarını kolayca yönetmenizi sağlar. Öncelik sırası ve eşleştirme mantığını doğru anlayarak, esnek ve güçlü API yönlendirme yapılandırmaları oluşturabilirsiniz.
</Info>

## İlgili Sayfalar

<CardGroup cols={3}>
  <Card title="Client Route" icon="route" href="/tr/concepts/temel-kavramlar/client-route">
    Client Route kavramını öğrenin
  </Card>

  <Card title="API Proxy Oluşturma" icon="plus" href="/tr/develop/api-proxy-olusturma/api-proxy-olusturma">
    API Proxy oluşturma
  </Card>

  <Card title="Routing ve Upstream" icon="network-wired" href="/tr/concepts/temel-kavramlar/routing-ve-upstream">
    Routing ve Upstream kavramlarını öğrenin
  </Card>

  <Card title="HTTP Yönlendirme" icon="globe" href="/tr/develop/yonlendirme/http-yonlendirme">
    HTTP Routing yapılandırması
  </Card>

  <Card title="API Proxy Konfigürasyonu" icon="gear" href="/tr/develop/api-proxy-konfigurasyonu/overview">
    API Proxy ayarları
  </Card>
</CardGroup>
