Ekin Karadeniz

Google, User-Agent'ı bitiriyor

Google, User-Agent'ı bitiriyor

Google yakın zamanda kendi web tarayıcısı Chrome’da, User-Agent’ı devre dışı bırakıp yerine ilk olarak Kasım 2015’te IETF’ye gönderdiği taslaktaki gibi “Client Hints” sistemine geçerek köklü bir değişiklik yapmayı planlıyor.

Peki neden bunu yapmak istiyor? Kendi savundukları iddialara göre User-Agent’lar kullanıcıları tanımlamak için yetersiz, cihazları tanımlamak için harici veritabanı gerektiriyor ve önbellek dostu değil. Ayrıca passive fingerprinting denilen, sabit bir veriye bağımlı kalınmaktaymış. Bu da kullanıcıların gizliliğini ihlal edebilirmiş. Şu anda kullanılmakta olan geleneksel yöntemler, uygulama ve sunucular için taşınabilir olmadığını, yapımı masraflı hale getirdiğini, ayrıca istekleri şişirdiği için performansı da düşürdüğünü belirtmişler. (Kaynak)

Bahsedilen “geleneksel” User-Agent örneği:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.2704.79 Safari/537.36 Edge/18.014

Peki önerdikleri yöntem nasıl çalışacak? Client, ilk istekte Sec-CH-UA isimli header ile kullanılan istemcinin adını ve versiyonunu gönderecek. Eğer sunucu “Client Hints” ile ilgileniyorsa Accept-CH adındaki header ile client’a, kullanılan istemcinin detaylı özelliklerini göndermesini isteyecek. Client daha sonraki isteklerinde, sunucunun istediği bu özellikleri gönderecek.

Ne tür bilgiler isteyebilecekler? Kullanılan istemcinin; markası (örn: Google Chrome), versiyonu (26), tam versiyonu (26.021020) işletim sistemi (örn: iOS), işletim sistemi versiyonu (16), işlemci mimarisi (örn: ARM64), platformun; modeli (örn: Pixel 2 XL), mobil olup olmadığı gibi bilgiler..

Google’ın istediği Client Hints örneği:

Sec-CH-UA: "Edge"; v="18"
Sec-CH-UA-Full-Version: "18.014"
Sec-CH-UA-Platform: "Windows"
Sec-CH-UA-Arch: "IA64"
Sec-CH-UA-Mobile: "0"

Görüşüm; bu değişiklik, istemci tanımlama konusunda sunuculara kolaylık sağlayabilir. Fakat bunun gizliliğin korunmasına çok fazla katkı sağlayabileceğini düşünmüyorum. Client Hints ile User-Agent‘ta olmayan bilgilerin bile edinilmesi mümkün hale geliyor. Hatta ileride edinilebilecek bilgilerin kapsamı genişletilebilir..