User agent'ım nedir?
User agent'ınız, tarayıcınızın her HTTP isteğinin User-Agent başlığında gönderdiği metindir; betikler bunu navigator.userAgent olarak okuyabilir. Ayrıştırıcı aracı, sayfa yüklendiğinde kendi tarayıcınızın dizesini otomatik olarak doldurur; bu rehber ise açıklama her okuyucu için aynı kalsın diye sabit bir macOS'ta Chrome dizesi kullanır.
Uygulamalı örnek
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Tarayıcı
- Chrome 120.0.0.0
- Motor
- Blink
- İşletim sistemi
- macOS 10.15.7
- Cihaz sınıfı
- Masaüstü
- Cihaz
- Bilinmiyor
- CPU mimarisi
- Bilinmiyor
- Bot / crawler
- Hayır
Belirteç dökümü
| Belirteç | Yorum |
|---|---|
| Mozilla/5.0 | Tarihsel bir uyumluluk belirteci. Neredeyse her tarayıcı bununla başlar; tarayıcının Firefox olduğu anlamına gelmez. |
| (Macintosh; Intel Mac OS X 10_15_7) | Platform yorumu. Chrome ve Safari macOS sürümünü 10_15_7 olarak dondurur; bu nedenle daha yeni macOS sürümleri ve Apple silicon'lu Mac'ler aynı değeri gönderir. |
| AppleWebKit/537.36 | Motor belirteci. Chrome'un Blink motoru WebKit'in bir çatalı olarak başladı ve hâlâ bu sabit değeri bildirir. |
| (KHTML, like Gecko) | Bir uyumluluk yorumu: WebKit, KHTML'den türemiştir; “like Gecko” ise modern sayfaları yalnızca Gecko tarayıcılarına sunan siteler için eklenmiştir. |
| Chrome/120.0.0.0 | Gerçek tarayıcı ve sürümü. Yalnızca ana sürüm (120) anlamlıdır; Chrome alt sürüm, derleme ve yama için 0.0.0 gönderir. |
| Safari/537.36 | Başka bir uyumluluk belirteci; Safari arayan sitelerin Chrome'u WebKit ailesinden bir tarayıcı olarak görmesini sağlar. Tarayıcının Safari olduğu anlamına gelmez. |
Ayrıştırıcı, Blink motoruyla macOS 10.15.7 üzerinde Chrome 120'yi tanımlar. Hem macOS sürümü hem de sondaki 0.0.0 dondurulmuş değerlerdir; yani gerçek sistem, dizenin söylediğinden daha yeni olabilir. CPU mimarisi bilinmiyor olarak kalır: ayrıştırıcı Intel ifadesini CPU ipucu olarak okumaz ve Apple silicon'lu Mac'ler de aynı metni gönderir.
Temel kurallar
- User agent dizesi, boşluklarla ayrılmış ürün/sürüm belirteçlerinden oluşan bir listedir; platform ayrıntıları parantez içinde yer alır.
- Belirteçlerin çoğu uyumluluk için vardır: tarayıcılar, eski algılama kodu çalışmaya devam etsin diye birbirlerinin belirteçlerini kopyalar. Bu yüzden ayrıştırıcı tek tek kelimelere değil, hangi belirteçlerin hangi sırayla geçtiğine bakmalıdır.
- Ayrıştırıcı aracı, sayfa yüklendiğinde kendi user agent'ınızı tarayıcınızdan doldurur. Ayrıştırmanın kendisi sunucuda değil, tarayıcınızda çalışır.
- Tarayıcı uzantıları, gizlilik ayarları, geliştirici araçlarındaki cihaz öykünmesi ve uygulama içi tarayıcılar user agent'ı değiştirebilir; bu nedenle user agent gerçek cihazı tanımlamayabilir.
- Tarayıcıları karşılaştırmak için başka bir cihazdan bir dize yapıştırın veya araçta örnek bir ön ayar seçin.