> For the complete documentation index, see [llms.txt](https://oguzhaninan.gitbook.io/varnish-cache/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oguzhaninan.gitbook.io/varnish-cache/varnish-http/durum-state.md).

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