New Cookie ile Current Cookie arasındaki fark nedir?
Kısa cevap
HTTP vService'in Persistence alanında New Cookie seçildiğinde TR7 yanıta kendi cookie'sini ekler (Cookie Name boşsa adı TR-C); uygulamadan bağımsız çalışır ve cookie'nin boşta kalma (Cookie Max-Idle, varsayılan 30 dk) ve toplam ömür (Cookie Max-Life, varsayılan 8 saat) süreleri ayarlanır. Current Cookie'de TR7 yeni cookie eklemez; uygulamanın ürettiği oturum cookie'sinin (ör. JSESSIONID, PHPSESSID) değerinin önüne Kurum Servisini tanımlayan bir işaret ekler ve persistence uygulamanın oturumu kadar sürer. İki yöntemde de işaret, Kurum Servisinin Cookie Content değeridir.
Karşılaştırma
| New Cookie | Current Cookie | |
|---|---|---|
| Cookie'yi kim üretir | TR7 | Uygulama |
| Cookie adı | Cookie Name; isteğe bağlı, boşsa TR-C | Cookie Name; zorunlu, uygulamanın cookie adı |
| İstemcinin gördüğü | TR-C=<sunucu değeri> | JSESSIONID=<sunucu değeri>~<uygulama değeri> |
| Uygulamaya iletilen | TR7'nin cookie'si iletilmez | Önek çıkarılmış özgün değer |
| Süreler | Cookie Max-Idle (varsayılan 30 dk; 60 sn – 7 gün) · Cookie Max-Life (varsayılan 8 saat; 10 dk – 30 gün) | Uygulamanın oturum süresi |
| İlk istek | Algoritma sunucuyu seçer, cookie ilk yanıtta eklenir | Uygulama cookie'yi set edene kadar algoritma seçer |
| Uygun olduğu durum | Yeni uygulamalar; uygulamadan bağımsız persistence | Kendi oturum cookie'si olan mevcut uygulamalar |
Sunucu Değeri Nereden Gelir?
İki yöntemde de sunucuyu tanımlayan değer Kurum Servisinin Cookie Content alanıdır; alanın varsayılan değeri yoktur ve boşken TR7 değeri sunucunun adresinden kendiliğinden üretir. Backend Group'ta değer satır başına girilir.
Sunucu Düşerse
Cookie'nin gösterdiği sunucu health check'te Error olursa ya da Maintenance Mode'a alınırsa istek sağlıklı bir sunucuya gider ve istemciye yeni sunucunun işareti verilir. Sunucuya health check atanmamışsa TR7 onu hiçbir zaman kullanılamaz saymaz.
Cookie Güvenliği
New Cookie'nin eklediği cookie'ye TR7 Secure, HttpOnly ya da SameSite bayrağı koymaz. Bu bayraklar gerekiyorsa iki yol vardır: Session Affinity Manager (SAM)'ın Security Flags alanı (varsayılan HttpOnly ve Secure (HTTPS only)) ya da vService'in Persistence alanı None bırakılarak kullanılan Cookie Based Connection Persistency aksiyonunun Mark as Only HTTP, Mark as Secure ve Cookie Attribute alanları.
TR7'de
- Yer: Load Balancer → Load Balancer vService List → HTTP vService → Edit → Details → LB Algorithm kutusu → Persistence → New Cookie ya da Current Cookie (Persistence); Save ile kaydedilir.
- Alanlar: New Cookie'de Cookie Name (isteğe bağlı), Cookie Max-Idle ve Cookie Max-Life; Current Cookie'de yalnızca Cookie Name (zorunlu) görünür.
- Cluster: Clustering açıkken ve Manual Sync Mode kapalıyken (varsayılan) ayar eş cihaza otomatik aktarılır; bilgi cookie'de taşındığı için istemci hangi cihaza gelirse gelsin aynı Kurum Servisine gider.
- Self-persistent bir algoritma seçiliyken Persistence alanı görünmez.
- WEB-CLI:
--persistence tr7Cookie(New Cookie) ya da--persistence serverCookie(Current Cookie).
Sık Karıştırılan Noktalar
- "Current Cookie, uygulamanın cookie'sine dokunmaz." İstemcinin gördüğü değerin önüne sunucu işareti eklenir; uygulamaya giderken bu işaret çıkarılır.
- "New Cookie için cookie adı zorunludur." Panelde isteğe bağlıdır; boşsa
TR-Ckullanılır. - "Current Cookie'de süre ayarlanır." Cookie Max-Idle ve max-life yalnızca New Cookie'de vardır.
- "Cookie persistence API istemcilerinde de çalışır." Cookie saklamayan istemcilerde çalışmaz; bu istemciler için Hash kullanılır (Cookie desteklemeyen istemciler (mobil uygulama, API client) için persistence nasıl sağlanır?).
Dokümantasyonda nasıl yapılır
