Browser
Browser Koşulu Nedir?
Browser koşulu, HTTP isteğinin User-Agent başlığını analiz ederek kullanıcının tarayıcısını tespit eden ve bu bilgiye göre trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
User-Agent başlığı, tarayıcı bilgisini içerir:
(KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
TR7, User-Agent başlığını bilinen tarayıcı imzalarıyla (desen eşleşmesi) karşılaştırarak 323 farklı tarayıcı türünü bu koşul ile tanıyabilir. Manuel olarak User-Agent HTTP başlığı içerisinde bir tarayıcı türü kontrolü için HTTP Header koşulu kullanılabilir.
Browser Koşulunun Önemi
Browser tespiti, kullanıcı deneyimini optimize etmek ve uyumluluk sorunlarını çözmek için kritik öneme sahiptir.
Browser koşulu sayesinde;
- Eski tarayıcılara uyumluluk sayfaları gösterilebilir,
- Tarayıcıya özel CSS/JS dosyaları sunulabilir,
- Belirli tarayıcılarda yaşanan sorunlar için workaround uygulanabilir,
- Browser bazlı kullanım istatistikleri toplanabilir,
- Güvenlik açığı olan eski tarayıcılar tespit edilebilir.
Browser vs Mobil Platformu vs Bot Türü:
| Koşul | Tespit Ettiği | Örnek |
|---|---|---|
| Browser | Browser uygulaması | Chrome, Firefox, Safari |
| Mobile Platform | İşletim sistemi | Android, iOS |
| Bot Type | Otomasyon yazılımı | Googlebot, Bingbot |
Kullanılabildiği vService Tipleri
Koşul, hem istek (At Request) hem yanıt (At Response) aşamasında kullanılabilir; tarayıcı bilgisi istek anında tespit edilir ve yanıt aşamasında da aynı değer üzerinden değerlendirilir.
Nasıl Eklenir?
Yeni bir Browser Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Conditions → Add adımları takip edilir.
- Criteria olarak Browser seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Browser Koşulu Ekleme Formu
Browser Koşulu Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden Browser seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Browser Name Zorunlu
Tespit edilecek tarayıcılar aranabilir listeden seçilir; en az bir tarayıcı seçilmesi zorunludur (form boş açılır). TR7 323 farklı tarayıcı türünü tanıyabilir.
Birden fazla tarayıcı seçilebilir. OR mantığıyla çalışır ve seçilen tarayıcılardan herhangi biri eşleşirse koşul sağlanır.
Eşleşme alt dize (substring) mantığıyla yapılır: seçilen ad, tespit edilen tarayıcı adının içinde geçtiğinde koşul sağlanır. Örneğin Chrome seçimi; Chrome Mobile, Chrome WebView ve Chromium gibi tüm türevleri de kapsar.
Yaygın Browser Kategorileri:
| Kategori | Örnekler |
|---|---|
| Masaüstü | Chrome, Firefox, Safari, Edge, Opera |
| Mobil | Mobile Safari, Opera Mini, Samsung Browser |
| Eski | IE, IEMobile |
| Alternatif | Vivaldi, Yandex, UCBrowser |
TIP
Browser listesi uzun olduğu için, arama kutusu kullanılarak istenilen tarayıcı hızlıca bulunabilir.
TIP
Browser ayrımı yapılmadan yalnızca "istemci bir tarayıcıdan mı geliyor" denetimi isteniyorsa, koşul seçim listelerinde hazır olarak sunulan If the client is from a browser koşulu kullanılabilir; bunun için ayrı bir koşul tanımlamaya gerek yoktur.
WARNING
Browser koşulu bir bot filtresi değildir: HeadlessChrome gibi otomasyon tarayıcıları da tarayıcı olarak tanınır. Bot ayrımı için Bot Type koşulu kullanılır. Ayrıca tespit edilen tarayıcı adı, aksiyonlarda İstemci tarayıcı bilgisi akıllı değişkeniyle kullanılabilir (ör. bir HTTP başlığının veya log alanının değeri olarak).
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Eski Tarayıcıları Tespit Edin. IE gibi eski tarayıcıları tespit edip uyumluluk uyarısı veya alternatif içerik gösterin.
- User-Agent Spoofing'e Dikkat. User-Agent kolayca değiştirilebilir; güvenlik kararları için tek başına tarayıcı tespitine güvenmeyin.
- Gruplandırma Yapın. Alt dize eşleşmesi sayesinde tek bir Chrome seçimi tüm Chrome varyantlarını kapsar; farklı aileleri (Chrome, Firefox, Edge…) tek koşulda birden çok seçimle gruplandırın.
- Periyodik Güncelleme. Yeni tarayıcı versiyonları çıktıkça koşullarınızı gözden geçirin.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Internet Explorer Uyumluluk Uyarısı
Kullanım Amacı: Eski IE kullanıcılarını tespit edip modern tarayıcı kullanımını teşvik etmek ve uyumluluk sorunlarını önlemek.
Konfigürasyon: Browser name → IE (alt dize eşleşmesi IEMobile'ı da kapsar)
Aksiyon Önerileri:
- ✅ Show Content → Browser güncelleme uyarı sayfası gösterilir.
- ✅ Add HTTP Header →
X-UA-Compatible: IE=edgeheader eklenir, en yeni rendering engine kullanılır. - ✅ Advanced Traffic Inspection → IE kullanım istatistikleri toplanır ve raporlanır.
Senaryo 2: Mobil Chrome Optimizasyonu
Kullanım Amacı: Mobil Chrome kullanıcılarını tespit edip optimize edilmiş içerik ve path yönlendirmesi yapmak.
Konfigürasyon: Browser name → Chrome: mobil ayrımı için aynı kuralda Mobile Platform koşulu (Android/iOS) ile birlikte kullanılır
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Mobile-Chrome: trueheader eklenir, Kurum Servisi mobil Chrome tespiti yapar. - ✅ Set Path → Ana sayfa
/mobilepath'ine yönlendirilir, mobil optimize içerik sunulur. - ✅ Advanced Traffic Inspection → Mobil Chrome kullanım dağılımı ve istatistikleri raporlanır.
Senaryo 3: Safari Özel CSS/JS Yükleme
Kullanım Amacı: Safari tarayıcısını tespit edip Safari'ye özel stil ve script dosyaları sunmak.
Konfigürasyon: Browser name → Safari (alt dize eşleşmesi Mobile Safari'yi de kapsar)
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Safari-Detected: trueveX-Load-Safari-CSS: trueheader'ları eklenir, Kurum Servisi Safari-specific kaynakları yükler. - ✅ Advanced Traffic Inspection → Safari kullanım dağılımı ve versiyon analizi raporlanır.
Senaryo 4: Modern Browser Kontrolü
Kullanım Amacı: Desteklenen modern tarayıcıları tespit edip kullanım istatistiklerini toplamak ve marker eklemek.
Konfigürasyon: Browser name → Chrome, Firefox, Edge, Safari (alt dize eşleşmesi bu ailelerin tüm türevlerini de kapsar)
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Modern-Browser: trueheader eklenir, Kurum Servisi modern browser özelliklerini kullanabilir. - ✅ Advanced Traffic Inspection → Modern tarayıcı kullanım oranları ve dağılım analizi raporlanır.
Senaryo 5: Alternatif Browser Tespiti
Kullanım Amacı: Vivaldi, Yandex, UCBrowser gibi alternatif tarayıcıları tespit etmek ve analiz etmek.
Konfigürasyon: Browser name → Vivaldi, Yandex, UCBrowser
Aksiyon Önerileri:
- ✅ Add HTTP Header →
X-Alt-Browser: trueheader eklenir, Kurum Servisi alternatif tarayıcı tespiti yapar. - ✅ Advanced Traffic Inspection → Alternatif tarayıcı kullanım dağılımı analizi raporlanır.
