6 puan yazan kunggom 2020-01-15 | Henüz yorum yok. | WhatsApp'ta paylaş

Web geliştirme yaparken bazen web tarayıcısının türüne ya da işletim sistemine göre farklı bir ekran göstermek veya ziyaretçinin kullandığı platformu istatistiksel olarak işlemek gerekebilir. Bu durumda kullanılan yöntemlerden biri, web tarayıcısının HTTP istek başlığına eklediği [kullanıcı aracısı](User Agent) dizesidir. Platformu ve tarayıcıyı bunun üzerinden ayırt etme yöntemi yaygın olarak kullanılsa da, bu dize Netscape döneminden beri uyumluluk gibi nedenlerle karmaşık ve anlaşılması zor bir hale gelmişti. Şimdi ise durum daha da ileri gitmiş durumda; neredeyse tüm tarayıcılar birbirinden farklı bir tarayıcıymış gibi davranıyor. Örneğin, benim kullandığım bir tarayıcının kullanıcı aracısı dizesi şöyle:

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4003.0 Safari/537.36 Edg/81.0.381.0

Başka hiçbir ön bilgi olmadan yalnızca bu kullanıcı aracısı dizesine bakarsanız bunun hangi tarayıcı olduğunu anlamanız neredeyse imkânsız olur. Mozilla Firefox mu? Chrome mu? Safari mi? Edge mi? Doğru cevap, Microsoft Edge Dev sürümü. En azından kullanılan platform bir ölçüde ayırt edilebiliyor gibi görünüyor, ancak bu diziyi parse edip platform tespiti için kullanmak da ayrıca baş ağrıtıcı olacaktır.

Google, bu sorunu çözmek için kullanıcı aracısı dizelerini aşamalı olarak kullanımdan kaldırmayı ve bunun yerine [Client Hints](Client Hints) kullanılmasını önerdi. Client Hints, mevcut kullanıcı aracısı dizesinin taşıdığı bilgileri 7 alana ayırıp (tarayıcı adı / tarayıcı ana sürümü / tarayıcı tam sürümü / platform adı ve sürümü / platform mimarisi / donanım model adı / mobil olup olmadığı) HTTP istek başlığına eklemek anlamına geliyor.

Google, bu yılın (2020) içinde Chrome’un kullanıcı aracısı dizesini artık değişmeyecek şekilde dondurmayı (uyumluluk sorunları nedeniyle tamamen kaldırılamıyor) ve bunun yerine bu Client Hints yapısını kullanmaya başlamayı planlıyor. Mozilla, Apple, MS gibi diğer büyük web tarayıcısı üreticilerinin de bunu destekleme planı var gibi görünüyor, ancak somut ayrıntılar henüz ortaya çıkmış değil. Diğer web tarayıcıları da bunu kullanmaya başlarsa, yaygınlaşmasının önünde büyük bir engel olmayacak gibi görünüyor. Yine de, kendi tarayıcısı dışındakilere hizmette ayrımcılık yapan Google’ın tutumuna bakınca, bu öneriyi kolları açıp memnuniyetle karşılamak da kolay değil.

Google’ın Client Hints önerisinin ayrıntıları:

https://wicg.github.io/ua-client-hints/

Kullanıcı aracısı dizelerinin tarihi:

http://millky.com/@origoni/post/566

Henüz yorum yok.

Henüz yorum yok.