Tarayıcınız, kullanıcı aracısını bağlandığınız her web sitesine gönderir. Hakkında yazdık tarayıcınızın kullanıcı aracısını değiştirmek daha önce - ama bir kullanıcı aracısı tam olarak nedir?
Kullanıcı aracısı, tarayıcıyı ve işletim sistemini web sunucusuna tanımlayan bir "dizedir" - yani bir metin satırıdır. Kulağa basit geliyor, ancak kullanıcı aracıları zamanla bir karmaşa haline geldi.
Temeller
Tarayıcınız bir web sitesine bağlandığında, HTTP başlığında bir Kullanıcı-Aracı alanı içerir. Kullanıcı aracısı alanının içeriği tarayıcıdan tarayıcıya değişir. Her tarayıcının kendine özgü kullanıcı aracısı vardır. Esasen, kullanıcı aracısı, tarayıcının bir web sunucusuna "Merhaba, Windows'ta Mozilla Firefox’um" veya "Merhaba, iPhone’da Safari’yim" demesinin bir yoludur.
Web sunucusu, bu bilgileri farklı web sayfalarını farklı web tarayıcılarına ve farklı işletim sistemlerine sunmak için kullanabilir. Örneğin, bir web sitesi mobil sayfaları mobil tarayıcılara, modern sayfaları modern tarayıcılara ve "lütfen tarayıcınızı yükseltin" mesajını Internet Explorer 6'ya gönderebilir.
Kullanıcı Aracılarını İnceleme
Örneğin, Firefox’un Windows 7’deki kullanıcı aracısı:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Bu kullanıcı aracısı, web sunucusuna biraz bilgi verir: İşletim sistemi Windows 7'dir (kod adı Windows NT 6.1), Windows'un 64 bit sürümüdür (WOW64) ve tarayıcının kendisi de Firefox 12'dir.
Şimdi, Internet Explorer 9’un kullanıcı aracısına bir göz atalım:
Mozilla / 5.0 (uyumlu; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Kullanıcı aracısı dizesi, tarayıcıyı Trident 5 oluşturma motoruyla IE 9 olarak tanımlar. Bununla birlikte, kafa karıştırıcı bir şey fark edebilirsiniz - IE kendisini Mozilla olarak tanımlar.
Bir dakika içinde buna geri döneceğiz. İlk olarak, Google Chrome’un kullanıcı aracısını da inceleyelim:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, Gecko gibi) Chrome / 19.0.1084.52 Safari / 536.5
Konu yoğunlaşıyor: Chrome hem Mozilla hem de Safari taklidi yapıyor. Nedenini anlamak için kullanıcı aracılarının ve tarayıcıların geçmişini incelememiz gerekecek.
The User Agent String Mess
Mozaik ilk tarayıcılardan biriydi. Kullanıcı aracı dizesi NCSA_Mosaic / 2.0 idi. Daha sonra Mozilla ortaya çıktı (daha sonra Netscape olarak değiştirildi) ve kullanıcı aracısı Mozilla / 1.0 idi. Mozilla, Mosaic'ten daha gelişmiş bir tarayıcıydı - özellikle çerçeveleri destekledi. Web sunucuları, kullanıcı aracısının Mozilla kelimesini içerdiğini kontrol etti ve çerçeveler içeren sayfaları Mozilla tarayıcılarına gönderdi. Diğer tarayıcılara, web sunucuları eski sayfaları çerçevesiz olarak gönderdi.
Sonunda, Microsoft’un Internet Explorer'ı geldi ve çerçeveleri de destekledi. Ancak, web sunucuları bunları Mozilla tarayıcılarına gönderdiği için IE çerçeveli web sayfalarını almadı. Bu sorunu çözmek için Microsoft, kullanıcı aracısına Mozilla kelimesini ekledi ve ek bilgiler ("uyumlu" kelimesi ve IE'ye bir referans) ekledi. Web sunucuları Mozilla kelimesini görmekten mutlu oldu ve IE'ye modern web sayfalarını gönderdi. Daha sonra gelen diğer tarayıcılar da aynı şeyi yaptı.
Sonunda, bazı sunucular Firefox’un işleme motoru olan Gecko kelimesini aradı ve Gecko tarayıcılarına eski tarayıcılardan farklı sayfalar sundu. Başlangıçta Linux’un KDE masaüstünde Konquerer için geliştirilen KHTML, "Gecko gibi" sözcüklerini ekledi, böylece Gecko için tasarlanmış modern sayfaları da elde edebilsinler. WebKit, KHTML'ye dayanıyordu - geliştirildiğinde, WebKit kelimesini eklediler ve uyumluluk amacıyla orijinal "KHTML, Gecko gibi" satırını korudular. Bu şekilde, tarayıcı geliştiricileri zaman içinde kullanıcı aracılarına kelime eklemeye devam etti.
Web sunucuları, kullanıcı aracısı dizesinin tam olarak ne olduğu gerçekten umursamaz - sadece belirli bir kelime içerip içermediğini kontrol ederler.
Kullanımlar
Web sunucuları, kullanıcı aracılarını aşağıdakiler dahil çeşitli amaçlar için kullanır:
- Farklı web sayfalarını farklı web tarayıcılarına sunmak. Bu iyi bir amaçla kullanılabilir - örneğin, eski tarayıcılara daha basit web sayfaları sunmak için - veya kötü - örneğin, "Bu web sayfası Internet Explorer'da görüntülenmelidir" mesajı görüntülemek için.
- Farklı işletim sistemlerinde farklı içerik görüntüleme - örneğin, mobil cihazlarda inceltilmiş bir sayfa görüntüleyerek.
- Kullanıcıları tarafından kullanılan tarayıcıları ve işletim sistemlerini gösteren istatistiklerin toplanması. Tarayıcı pazar payı istatistiklerini görürseniz, bunlar bu şekilde elde edilir.
Web'de gezinen botlar da kullanıcı aracılarını kullanır. Örneğin, Google'ın web tarayıcısı kendisini şu şekilde tanımlar:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Web sunucuları botlara özel muamele verebilir - örneğin, zorunlu kayıt ekranlarından geçmelerine izin vererek. (Evet, bu, bazen kullanıcı aracınızı Googlebot'a ayarlayarak kayıt ekranlarını atlayabileceğiniz anlamına gelir.)
Web sunucuları ayrıca robots.txt dosyasını kullanarak belirli botlara (veya tüm botlara) sipariş verebilir. Örneğin, bir web sunucusu belirli bir bota gitmesini söyleyebilir veya başka bir bota web sitesinin yalnızca belirli alanlarını dizine eklemesini söyleyebilir. Robots.txt dosyasında botlar, kendi kullanıcı aracısı dizeleriyle tanımlanır.
Tüm büyük tarayıcılar, özel kullanıcı aracıları ayarla , böylece farklı tarayıcılara hangi web sunucularının gönderdiğini görebilirsiniz. Örneğin, masaüstü tarayıcınızı bir mobil tarayıcının kullanıcı aracısı dizesine ayarlayın, masaüstünüzde web sayfalarının mobil sürümlerini göreceksiniz.