User-Agent Ayrıştırıcı
Bir User-Agent dizgesinden tarayıcıyı, motoru, işletim sistemini ve cihazı belirleyin
Bu araç hakkında
Bir log satırından, hata raporundan veya analitik dışa aktarımından bir User-Agent dizgesi yapıştırın ve çözümlenmiş hâlini alın: tarayıcı ve sürümü, işleme motoru, işletim sistemi, cihaz türü ve CPU mimarisi. Ayrıştırıcı, sayısız analitik hattının arkasındaki kütüphane olan ua-parser-js’tir ve dizgeniz üzerinde yerelde çalışır.
User-Agent dizgeleri birer kazı alanıdır — hepsi hâlâ Mozilla/5.0 olduğunu iddia eder, Chrome kendine Safari der, Safari KHTML der ve gerçek kimlik sonraki belirteçlerde saklanır. Bir ayrıştırıcı gözünüzü kısarak bakmaktan iyidir: “CriOS”un iOS’taki Chrome demek olduğunu ve Edge’in “Edg/” arkasına saklandığını bilir.
Gidişatı da not edin: tarayıcılar UA dizgelerini donduruyor ve kısaltıyor (Chromium bunun yerine UA Client Hints gönderiyor), dolayısıyla yalnızca UA’dan gelen sürüm ayrıntısı giderek kabalaşıyor. Log adli incelemesi ve hata ayıklama için vazgeçilmez olmayı sürdürür; özellik kararları içinse özellik algılamayı kullanın.
Sıkça sorulan sorular
- Neden her User-Agent Mozilla/5.0 ile başlıyor?
- 1990’lardan kalma, hiç bitmeyen bir uyumluluk tiyatrosu: sunucular modern sayfaları sunmak için “Mozilla” arıyordu, bu yüzden her yeni tarayıcı öyle olduğunu iddia etti ve her tarayıcı kendinden öncekileri taklit etti. Önek artık anlamsız bir gelenektir.
- Bir UA dizgesindeki işletim sistemi sürümüne güvenebilir miyim?
- Her yıl biraz daha az. macOS UA sürümünü 10_15_7’de dondurdu, Windows 11 kendini Windows NT 10.0 olarak bildiriyor ve UA’sını kısaltan tarayıcılar sürümleri bilerek kabalaştırıyor. UA’dan gelen işletim sistemi sürümlerini yaklaşık kabul edin; istemciyi siz denetliyorsanız UA Client Hints kullanın.
- “like Gecko” ya da “KHTML, like Gecko” ne demek?
- Bir taklit katmanı daha: WebKit, KHTML’den türedi ve Gecko’yu (Firefox’un motorunu) özel olarak ele alan sayfaların çalışmasını istedi; bu yüzden sonuna “like Gecko” ekledi. Her WebKit/Blink tarayıcısı bu ifadeyi bugün de taşır.
- Özellik algılama için UA ayrıştırma kullanmalı mıyım?
- Hayır — yeni bir tarayıcı sürümü çıktığı anda UA ayıklaması bozulur. Özelliğin kendisini algılayın (if ("clipboard" in navigator)). UA ayrıştırma; analitik, log çözümlemesi ve kullanıcıların bildirdiği hataları yeniden üretmek içindir, ki oralarda ortamı bilmek işin ta kendisidir.