User-Agent Client Hints ve UA azaltma
Chromium tabanlı tarayıcılar azaltılmış bir User-Agent dizesi gönderir: bir cihazı en kesin biçimde tanımlayan ayrıntılar sabit değerlere dondurulmuş, kesin veriler ise sitenin istemesi gereken User-Agent Client Hints'e (UA-CH) taşınmıştır. Bu rehber, Android'de Chrome'un eski bir dizesini azaltılmış bir dizeyle yan yana ayrıştırır.
Uygulamalı örnek
Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36
- Tarayıcı
- Chrome 99.0.4844.88
- Motor
- Blink
- İşletim sistemi
- Android 12
- Cihaz sınıfı
- Mobil
- Cihaz
- Samsung SM-G991B
- CPU mimarisi
- Bilinmiyor
- Bot / crawler
- Hayır
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
- Tarayıcı
- Chrome 120.0.0.0
- Motor
- Blink
- İşletim sistemi
- Android 10
- Cihaz sınıfı
- Mobil
- Cihaz
- K
- CPU mimarisi
- Bilinmiyor
- Bot / crawler
- Hayır
Eski dize Android 12'yi, Samsung modeli SM-G991B'yi ve tam sürüm 99.0.4844.88'i açığa çıkarır. Azaltılmış dizede Android 10 ve K modeli, her Android cihazın gönderdiği yer tutuculardır ve sürüm .0.0.0 ile biter. Ayrıştırıcı dizenin söylediğini aynen bildirir — Android 10, K modeli — bu yüzden yalnızca ana sürüm 120 ve Mobile belirteci hâlâ gerçek bilgi taşır.
Sec-CH-UA: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" Sec-CH-UA-Mobile: ?1 Sec-CH-UA-Platform: "Android" Accept-CH: Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List
Temel kurallar
- Azaltılmış Chrome dizeleri yalnızca ana sürümü korur; alt sürüm, derleme ve yama her zaman 0.0.0'dır.
- Android'de işletim sistemi sürümü 10 olarak sabitlenir ve cihaz modeli K ile değiştirilir. Masaüstünde platform, Windows NT 10.0; Win64; x64, Macintosh; Intel Mac OS X 10_15_7 veya X11; Linux x86_64 gibi değerlere dondurulur.
- HTTPS üzerinden Chromium tarayıcılar varsayılan olarak üç düşük entropili ipucu gönderir: Sec-CH-UA (markalar ve ana sürümler), Sec-CH-UA-Mobile ve Sec-CH-UA-Platform.
- Sec-CH-UA-Platform-Version, Sec-CH-UA-Model ve Sec-CH-UA-Full-Version-List gibi ayrıntılı ipuçları yalnızca sunucu bunları bir Accept-CH yanıt başlığında istedikten sonra gönderilir. JavaScript'te navigator.userAgentData.getHighEntropyValues() kullanın.
- Marka listesi, “Not_A Brand” gibi kasıtlı olarak sahte bir “GREASE” girdisi içerir. Başlığın tamamını karşılaştırmak yerine ihtiyacınız olan markayı arayın.
- Windows 11, User-Agent dizesinde hâlâ Windows NT 10.0 gönderir; 13.0.0 veya daha yüksek bir Sec-CH-UA-Platform-Version değeri Windows 11'i gösterir.
- Client hints bir Chromium özelliğidir; bu yüzden diğer tarayıcılar için User-Agent'a dayalı bir yedek yol bulundurun. Bu ayrıştırıcı client hints'i değil, yalnızca User-Agent dizesini okur.