# Cookie vs Oturum

Adres: https://softwaredictionary.org/tr/karsilastirma/cookie-vs-session
Son güncelleme: 2026-10-02

Kısaca: Cookie, tarayıcının saklayıp her istekte gönderdiği küçük veridir; oturum ise sunucunun ziyaretçi için tuttuğu durumdur, cookie'deki bir kimlikle bulunur.

## Cookie ile oturum (session) arasındaki fark nedir?

Cookie, `theme=dark` gibi bir ad ve değerdir; sunucu bunu `Set-Cookie` başlığıyla tarayıcıdan saklamasını ister. Tarayıcı o andan itibaren, süresi dolana ya da silinene kadar, o siteye yaptığı her istekte cookie'yi kendiliğinden geri gönderir. Oturum ise sunucunun bir ziyaretçi hakkında hatırladıklarıdır; kimin giriş yaptığı ya da sepette ne olduğu gibi bilgiler sunucu belleğinde, bir veritabanında ya da Redis gibi bir depoda tutulur.

Temel fark, verinin nerede durduğudur. Cookie'nin içeriği tarayıcıyla sunucu arasında gidip gelir; bu yüzden her cookie yaklaşık 4 KB ile sınırlıdır ve değerini kullanıcı görebilir, değiştirebilir. Oturum verisi sunucuda kalır; tarayıcı yalnızca uzun, rastgele bir oturum kimliği tutar, sunucu da her istekte veriyi bu kimlikle bulur.

Genellikle birbirine rakip değil, birlikte çalışırlar. Oturum kimliğini taşımanın en yaygın yolu `HttpOnly`, `Secure` ve `SameSite` işaretli bir cookie'dir; böylece sayfadaki betikler onu okuyamaz ve yalnızca HTTPS üzerinden gönderilir. Sunucu tarafı oturumların alternatifi, JWT'lerin yaptığı gibi imzalı veriyi token'ın içine koymaktır; bu aramayı ortadan kaldırır ama bir girişi süresi dolmadan sonlandırmayı zorlaştırır.

Sık yapılan bir yanlış, cookie'lerle oturumların kullanıcıyı içeri almanın birbirine rakip iki yolu olduğu düşüncesidir. Cookie tarayıcıdaki bir saklama ve taşıma mekanizması, oturum ise sunucudaki bir durumdur; tipik bir giriş ikisini birlikte kullanır. Parola ya da kullanıcı rolü gibi gizli bilgileri düz bir cookie'de saklamak bir güvenlik hatasıdır.

| Özellik | Cookie | Oturum |
| --- | --- | --- |
| Verinin durduğu yer | Tarayıcıda | Sunucuda |
| Tarayıcının tuttuğu | Verinin kendisi | Yalnızca rastgele bir oturum kimliği, genellikle bir cookie'de |
| Boyut | Cookie başına yaklaşık 4 KB | Yalnızca sunucunun depolamasıyla sınırlı |
| Kullanıcıya görünür mü | Evet: tarayıcıda okunabilir ve değiştirilebilir | Hayır: kullanıcı yalnızca kimliği görür |
| Ömür | Son kullanma tarihine kadar ya da tarayıcı kapanana kadar | Sunucu sonlandırana ya da zaman aşımına uğrayana kadar |
| Sunucuya maliyeti | Yok; hiçbir şey saklanmaz | Her istekte okunan bellek ya da paylaşılan bir depo |
| Tipik kullanım | Tercihler, izin seçimleri, oturum kimliğini taşımak | Girişler, alışveriş sepetleri, çok adımlı formlar |

## Cookie şu durumlarda doğru seçim

- Dil ya da tema seçimi gibi küçük ve gizli olmayan bir değeri hatırlamanız gerekiyor.
- Değer, sunucuda hiçbir şey saklanmadan da kalıcı olmalı.
- Tarayıcıyla sunucu arasında bir oturum kimliği ya da token taşıyorsunuz.

## Oturum şu durumlarda doğru seçim

- Kimin giriş yaptığı ya da neler yapabileceği gibi hassas bir bilgi tutuyorsunuz.
- Veri birkaç kilobayttan büyük.
- Bir girişi sunucu tarafında anında sonlandırabilmeniz gerekiyor.

## Sık sorulan sorular

**Oturumlar cookie'lerde mi saklanır?**

Genellikle yalnızca oturum kimliği saklanır. Oturum verisinin kendisi sunucuda kalır; cookie yalnızca sunucuya bu tarayıcıya hangi kaydın ait olduğunu söyler.

**Cookie'ler giriş için güvenli mi?**

Rastgele bir oturum kimliği tutan cookie, HttpOnly, Secure ve SameSite olarak işaretlendiğinde güvenlidir. Parolaları, rolleri ya da güvenilmesi gereken başka verileri okunabilir bir cookie'ye koymak ise güvenli değildir.

**Tarayıcı kapanınca oturuma ne olur?**

Cookie'ye bağlıdır. Son kullanma tarihi olmayan bir oturum cookie'si tarayıcı kapanınca silinir ve kullanıcı açısından oturum biter; sunucu da kendi kopyasını oturum zaman aşımına uğradığında temizler.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
