Operating System
Operating System Koşulu Nedir?
Operating System koşulu, HTTP isteğinin User-Agent başlığını analiz ederek istemcinin işletim sistemini tespit eden ve bu bilgiye göre trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
TR7, User-Agent başlığını bilinen işletim sistemi imzalarıyla (desen eşleşmesi) karşılaştırarak istemcinin platformunu belirler.
Operating System vs Mobile Platform vs Browser:
| Koşul | Tespit Ettiği | Örnek |
|---|---|---|
| Operating System | Tüm işletim sistemleri | Windows, iOS, KaiOS |
| Mobile Platform | Mobil platform | Android, iOS |
| Browser | Tarayıcı uygulaması | Chrome, Firefox, Safari |
WARNING
Güvenlik Notu
User-Agent başlığı istemci tarafından kolayca değiştirilebilir. Kritik güvenlik kararları için işletim sistemi tespitine tek başına güvenilmemelidir.
Operating System Koşulunun Önemi
İşletim sistemi tespiti, platforma özel içerik ve uyumluluk yönetimi için temel bir araçtır.
Operating System koşulu sayesinde;
- İstemciler işletim sistemlerine uygun indirme/uygulama sayfalarına yönlendirilebilir,
- Belirli platformlara özel içerik veya uyarı sunulabilir,
- Eski/destek dışı platformlar tespit edilebilir,
- İşletim sistemi bazlı kullanım istatistikleri toplanabilir.
Kullanılabildiği vService Tipleri
Koşul, hem istek (At Request) hem yanıt (At Response) aşamasında kullanılabilir; işletim sistemi bilgisi istek anında tespit edilir.
Nasıl Eklenir?
Yeni bir Operating System 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 Operating System seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Operating System Koşulu Ekleme Formu
Operating System 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 Operating System 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
Operating System Zorunlu
Tespit edilecek işletim sistemleri aranabilir listeden seçilir; en az bir işletim sistemi seçilmesi zorunludur (form boş açılır).
Birden fazla işletim sistemi seçilebilir. OR mantığıyla çalışır ve seçilenlerden herhangi biri eşleşirse koşul sağlanır.
Eşleşme tam eşleşmedir: seçilen ad, tespit edilen işletim sistemi adıyla birebir karşılaştırılır. Örneğin Windows ve Windows Phone ile iOS ve KaiOS ayrı değerlerdir; Windows seçimi Windows Phone trafiğini kapsamaz: ikisi de hedefleniyorsa ikisi de seçilir.
TIP
İşletim sistemi ayrımı yapılmadan yalnızca "istemcinin işletim sistemi tanınabildi mi" denetimi isteniyorsa, koşul seçim listelerinde hazır olarak sunulan If the client operating system is recognized koşulu kullanılabilir; değili (If the client operating system is NOT recognized) tanınmayan istemcileri ayrıştırmak için kullanılır.
TIP
Tespit edilen işletim sistemi adı ayrı bir akıllı değişken olarak sunulmaz; aksiyonlarda istemcinin tarayıcı kimliği User-agent 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
- Tam Eşleşmeye Dikkat Edin. Benzer adlı platformlar ayrı değerlerdir (Windows ≠ Windows Phone); hedeflenen tüm platformlar listeden tek tek seçilmelidir.
- Mobil Ayrımı İçin Doğru Kriteri Seçin. Yalnızca mobil platformlar hedefleniyorsa Mobile Platform koşulu daha isabetlidir.
- User-Agent Spoofing'e Dikkat. İşletim sistemi bilgisi istemci beyanına dayanır; güvenlik kararlarında tek başına kullanılmamalıdır.
- Tanınmayanları Ayrıştırın. Hazır If the client operating system is NOT recognized koşulu, işletim sistemi belli olmayan (çoğu zaman otomasyon) trafiği ayrıştırmak için pratik bir yoldur.
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: İşletim Sistemine Göre İndirme Yönlendirmesi
Kullanım Amacı: Uygulama indirme sayfasına gelen istemcileri, işletim sistemlerine uygun mağaza/paket sayfasına yönlendirmek.
Konfigürasyon: Operating system → iOS
Aksiyon Önerileri:
- ✅ Set Path → İndirme isteği
/download/iospath'ine yönlendirilir; diğer platformlar için benzer koşullarla ayrı kurallar tanımlanır. - ✅ Advanced Traffic Inspection → Platform bazlı indirme dağılımı raporlanır.
Senaryo 2: Eski Platformlara Uyumluluk Uyarısı
Kullanım Amacı: Destek dışı kalmış platformlardan gelen kullanıcılara uyumluluk uyarısı göstermek.
Konfigürasyon: Operating system → Windows Phone, KaiOS
Aksiyon Önerileri:
- ✅ Show Content → "Platformunuz artık desteklenmemektedir" bilgilendirme sayfası gösterilir.
- ✅ Add HTTP Header →
X-Legacy-Platform: truebaşlığı eklenir, Kurum Servisi sadeleştirilmiş içerik sunar.
Senaryo 3: Kurum Servisine Platform Bilgisi İletme
Kullanım Amacı: Platforma göre davranışı uygulama tarafında belirleyen Kurum Servisine, işletim sistemi bilgisini içeren istemci kimliğini standart bir başlıkla iletmek.
Konfigürasyon: Operating system → (hedeflenen tüm platformlar seçili)
Aksiyon Önerileri:
- ✅ Add HTTP Header → Değeri fx üzerinden User-agent akıllı değişkenine bağlanan
X-Client-UAbaşlığı eklenir; Kurum Servisi işletim sistemini bu değerden ayırt ederek platform bazlı işlem yapar. - ✅ Advanced Traffic Inspection → İşletim sistemi dağılımı ve platform bazlı hata oranları raporlanır.
