Accept-Language header nedir?
Kısa cevap
Accept-Language, tarayıcının kullanıcının dil tercihlerini sunucuya bildirdiği istek header'ıdır; diller q değerleriyle ağırlıklandırılarak sıralanır (tr-TR,tr;q=0.9,en;q=0.8). Değer tarayıcı ya da işletim sistemi ayarlarından gelir. TR7'de Client Language Preference koşulu bu header'ı q değerlerine göre değerlendirir: Language alanındaki dili istemcinin kabul edip etmediğini ya da Languages to Compare alanındaki dillerden daha çok isteyip istemediğini sorar; bölgesel varyantlar temel dile dahildir (English (en) seçimi en-US ve en-GB'yi de kapsar). Koşul yalnızca HTTP vService'te ve istek aşamasında çalışır. Bot Protection da header'ın hiç gönderilmemesini bir bot sinyali olarak puanlar.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Conditions (Policy Match) → koşul formu | Criteria → Client language preference | Dil tercihine göre karar (yalnızca HTTP vService, istek aşaması) |
| Aynı form | Language, Languages to Compare | Denetlenecek dil ve karşılaştırılacak diller |
| Koşul seçim listeleri | If the client prefers Turkish over English, If the client prefers English over Turkish | Türkçe–İngilizce ayrımı için hazır koşullar |
| Bot/DDoS → Bot/DDoS Protected vService List → Bot/DDoS Management → Bot Protection → Factors | Protocol Hygiene → Missing Headers | Accept-Language ya da Accept-Encoding göndermeyen istemciyi bot skoruna yansıtma |
Dile göre yönlendirme kurulumu: Tarayıcının dil tercihine göre yönlendirme yapabilir miyim?
Sık Karıştırılan Noktalar
- "Accept-Language kullanıcının bulunduğu ülkeyi gösterir." Header dil tercihidir; konuma göre karar için kaynak IP'nin ülkesine bakan Source IP koşulu kullanılır.
- "Header'da dilin geçmesi, o dilin tercih edildiği anlamına gelir."
en-US,tr;q=0.1header'ında "tr" geçer ama asıl tercih İngilizcedir. Koşul metin eşleştirmesi yapmaz, q değerlerine göre karar verir;q=0ile işaretlenen dil kabul edilmemiş sayılır. - "Header her istekte bulunur." Bazı istemciler ve betikler header'ı göndermez; bu isteklerde koşul sağlanmaz ve istek koşula bağlı olmayan yoldan (ör. Default Backend Services) işlenir.
Dokümantasyonda nasıl yapılır
