# State (Durum)

Artık kararsızlığı ve HTTP istek yöntemlerinin kaynağın durumunu nasıl değiştirmemesi gerektiğini bildiğinize göre, HTTP'deki durumu kontrol edebilecek diğer mekanizmalara bakalım. Kullanıcılar için durumu izlemenin iki yolu vardır:

1. Authorization headers
2. Cookies

Varnish bunlardan birini gördüğünde, isteği arka uçtan geçirir ve yanıtı önbelleğe almaz. Bunun nedeni, bir kimlik doğrulama başlığı veya bir çerez gönderildiğinde, bu isteği gerçekleştiren her kullanıcı için verilerin farklı olacağı anlamına gelir.&#x20;

Kimlik doğrulama başlığı veya tanımlama bilgisi içeren bir isteğin yanıtını önbelleğe almaya karar verirseniz, istenen ilk kullanıcıya özel bir yanıt sunacaksınız. Diğer kullanıcılar da görecek ve cevap potansiyel olarak hassas veya alakasız bilgiler içerebilir.&#x20;

Çerezler durumu takip etmek için ana aracımızdır ve çerezleri kullanmayan web sitelerinin gelmesi zordur. Bizim uygulamada oturumları oluşturmak için çerezleri kullanıyoruz. Dil, bölge ve diğer tercihleri ​​takip etmek için çerezleri de kullanabiliriz.

HTTP açısından, çerezler hem istekte hem de cevap sürecinde görünür. **Set-Cookie** yanıt başlığı yayınlayarak bir veya daha fazla çerez ayarlanır. İstemci bu cevabı alır ve çerezleri yerel çerez deposunda saklar.&#x20;

Aşağıdaki örnekte görebileceğiniz gibi, bir çerez bir "&" işareti ile sınırlandırılmış bir anahtar-değer çifti setidir.

```http
Set-Cookie: language=tr&country=tr
```

Bir istemci bir alan adı için çerezler sakladığında, her istek üzerine çerezleri sunucuya geri göndermek için bir çerez isteği başlığı kullanır. Çerezler ayrıca belirli bir durum gerektirmeyen isteklerlede (örneğin statik dosyalar) gönderilir.

```http
Cookie: language=tr&country=tr
```

Bu iki aşamalı işlem, çerezlerin nasıl ayarlanıp kullanıldığını gösteriyor. Sadece Cookie ve Set-Cookie arasındaki farkı bilin. İlki bir istek başlığı; ikincisi bir cevap başlığıdır.

Belirtildiği gibi, Varnish çerezleri önbelleğe almaz. Ne zaman bir **Cookie** başlığına sahip bir istek görürse, istek arka uca iletilir ve cevap önbelleğe alınmaz. Bir istek çerez içermiyor, ancak yanıt **Set-Cookie** başlığı içeriyorsa, Varnish sonucu önbellekte saklamaz.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://oguzhaninan.gitbook.io/varnish-cache/varnish-http/durum-state.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
