Cookie nedir; Cookie ile Set-Cookie header'ları arasındaki fark nedir?
Kısa cevap
Cookie, sunucunun tarayıcıda sakladığı küçük bir ad=değer bilgisidir; HTTP stateless olduğu için session, login ve tercih bilgisi cookie'lerle taşınır. Sunucu cookie'yi yanıttaki Set-Cookie header'ı ile verir; tarayıcı aynı siteye yaptığı sonraki isteklerde cookie'yi Cookie header'ı ile geri gönderir. TR7'de iki yönü ayrı koşullar okur: User Cookie Name istekteki Cookie header'ına, Server Cookie Name Kurum Servisinin yanıtındaki Set-Cookie header'ına bakar ve yalnızca yanıt aşamasında kullanılır. Cookie'ler ayrıca HTTP vService'in Persistence alanındaki New Cookie, Current Cookie ve Session Affinity Manager (SAM) seçenekleriyle kullanıcıyı aynı Kurum Servisine bağlar; HTTP Cookie Security aksiyonu cookie'lere güvenlik attribute'ları ekler, Cookie Encryption aksiyonu seçilen cookie'lerin değerini şifreler.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Conditions (Policy Match) → Criteria | User Cookie Name | İstekteki cookie'nin varlığına ya da değerine göre karar |
| Load Balancer → Conditions (Policy Match) → Criteria | Server Cookie Name | Kurum Servisinin Set-Cookie ile verdiği cookie'ye göre karar; yalnızca yanıt aşamasında |
| Load Balancer → Load Balancer vService List → HTTP vService formu | Persistence: New cookie, Current cookie, Session Affinity Manager (SAM) | Kullanıcıyı cookie üzerinden aynı Kurum Servisine bağlama |
| Load Balancer → Backend Services → Kurum Servisi formu | Cookie Content | Cookie tabanlı persistence'ta (New cookie, Current cookie ya da Cookie Based Connection Persistency aksiyonu) bu Kurum Servisini tanımlayan değer |
| Load Balancer → Actions (Policy Actions) | HTTP Cookie Security | Cookie'lere Secure, HttpOnly, SameSite=Strict ekleme |
| Load Balancer → Actions (Policy Actions) | Cookie Encryption | Seçilen cookie'lerin değerini istemci tarafında şifreli tutma |
Cookie ve Set-Cookie
| Set-Cookie | Cookie | |
|---|---|---|
| Yön | Sunucu → tarayıcı (yanıt) | Tarayıcı → sunucu (istek) |
| İçerik | Ad, değer ve attribute'lar (Path, Domain, Expires, Secure, HttpOnly, SameSite) | Yalnızca ad=değer çiftleri |
| TR7 koşulu | Server Cookie Name | User Cookie Name |
Cookie'nin tanımı RFC 6265'tedir.
Sık Karıştırılan Noktalar
- "Cookie ve Set-Cookie aynı header'dır." Biri yanıtta cookie'yi verir, diğeri istekte geri gönderir; TR7'de ayrı koşullarla okunurlar.
- "Persistence için uygulamanın cookie üretmesi gerekir." New Cookie seçeneğinde cookie'yi TR7 ekler; uygulamanın kendi cookie'sinden yararlanmak için Current Cookie seçilir (New Cookie ile Current Cookie arasındaki fark nedir?).
- "Cookie'ler istemci tarafında güvendedir." Değerler kullanıcı tarafından okunabilir ve değiştirilebilir; attribute'lar ve şifreleme bunu sınırlar (Secure, HttpOnly ve SameSite cookie attribute'ları nedir?).
Dokümantasyonda nasıl yapılır
