User-Agent header nedir?
Kısa cevap
User-Agent, isteği gönderen tarayıcıyı ya da istemci uygulamasını (ad, sürüm, işletim sistemi, cihaz) tanıtan istek header'ıdır; örneğin Mozilla/5.0 (Windows NT 10.0; …) Chrome/…. Değeri istemci belirlediği için kolayca değiştirilebilir ve bazı istemciler hiç göndermez. TR7'de User-Agent dört koşulun girdisidir: Browser, Operating System, Mobile Platform ve Bot Type koşulları header'ı bilinen imzalarla karşılaştırarak tarayıcıya, işletim sistemine, mobil platforma ya da bot türüne göre karar verir. Header'ın değeri Request HTTP header content smart variable'ıyla başka bir alana yazılır; HTTP Logs ekranındaki Browser, Operating System ve Device Type filtreleri de bu header'dan çözümlenir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Conditions (Policy Match) → Criteria | Browser, Operating System, Mobile Platform, Bot Type | Tarayıcıya, işletim sistemine, mobil platforma ya da bot türüne göre aksiyon ve Conditional Backend Services kararı |
| Load Balancer → Conditions (Policy Match) → Criteria | HTTP Header (Header name: user-agent) | User-Agent'ın ham değerine göre eşleştirme |
| Aksiyon değer alanları → Smart Variables | Request HTTP header content (Header name: user-agent; kısa adı ↓UA) | Değeri bir header'a ya da log satırına yazma |
| vService → Logs & Tracking → HTTP Logs → Filter | Browser, Operating System, Device Type, Browser Version | Kayıtları istemci türüne göre süzme |
| Left Monitor Panel → WAF-Protected vServices → vService → Event Logs → Filter | User Agent, Browser, Operating System, Device Type, Browser Version | WAF kayıtlarını istemciye göre süzme |
Sık Karıştırılan Noktalar
- "User-Agent güvenilir bir kimliktir." Botlar tarayıcı gibi görünen değerler gönderebilir; Bot type koşulu yalnızca kendini User-Agent'ta tanıtan botları ayırır (Botları nasıl tespit ederim; iyi botlara (Googlebot vb.) izin verip kötüleri engelleyebilir miyim?).
- "User-Agent olmayan istek geçersizdir." Birçok API istemcisi ve betik header'ı göndermez; bu durumda Browser, Operating system ve Mobile platform koşulları eşleşmez.
- "Mobil cihazı ayırmak için User-Agent'ı regex'le yazmak gerekir." Mobile platform koşulu hazır imzalarla çalışır (Mobil cihazları ayrı bir backend'e gönderebilir miyim?).
Dokümantasyonda nasıl yapılır
