Kullanıcı Aracısı

Bilgi işlemde kullanıcı aracısı, kullanıcı adına hareket eden ve "Web içeriğini alan, işleyen ve son kullanıcı etkileşimini kolaylaştıran" herhangi bir yazılımdır. Bu nedenle kullanıcı aracısı özel bir yazılım aracısı türüdür.

Kullanıcı aracılarının bazı önemli örnekleri web tarayıcıları ve e-posta okuyucularıdır. Genellikle, bir kullanıcı aracısı bir istemci-sunucu sisteminde istemci olarak hareket eder. Oturum Başlatma Protokolü (SIP) gibi bazı bağlamlarda, kullanıcı aracısı terimi bir iletişim oturumunun her iki uç noktasını da ifade eder.

Bir yazılım aracısı bir ağ protokolünde çalıştığında, genellikle kendisini, uygulama türünü, işletim sistemini, cihaz modelini, yazılım satıcısını veya yazılım revizyonunu, işletim eşine karakteristik bir tanımlama dizesi göndererek tanımlar. HTTP, SIP ve NNTP protokollerinde bu tanımlama User-Agent başlık alanında iletilir. Web tarayıcıları gibi botlar, Web Yöneticisinin botun operatörüyle iletişim kurabilmesi için genellikle bir URL ve/veya e-posta adresi de içerir.

HTTP'de User-Agent dizesi genellikle kaynak sunucunun yanıt için uygun içeriği veya işletim parametrelerini seçtiği içerik anlaşması için kullanılır. Örneğin, User-Agent dizesi bir web sunucusu tarafından istemci yazılımının belirli bir sürümünün bilinen özelliklerine dayalı olarak değişkenleri seçmek için kullanılabilir. İçerik uyarlama kavramı, "belirli kullanıcı aracısı sınırlamalarından kaçınmak için yanıtları uyarlamak amacıyla" RFC 1945'te HTTP standardına dahil edilmiştir.

Diğer birçok HTTP istek başlığında olduğu gibi, "User-Agent" dizesindeki bilgiler de istemcinin sunucuya gönderdiği bilgilere katkıda bulunur, çünkü bu dize kullanıcıdan kullanıcıya önemli ölçüde değişebilir.

User-Agent dizesi biçimi şu anda HTTP Semantikleri bölüm 10.1.5 tarafından belirtilmektedir. HTTP'deki User-Agent dizesinin biçimi, isteğe bağlı yorumlarla birlikte ürün belirteçlerinin (anahtar sözcükler) bir listesidir. Örneğin, bir kullanıcının ürününün adı WikiBrowser ise, kullanıcı aracısı dizesi WikiBrowser/1.0 Gecko/1.0 olabilir. "En önemli" ürün bileşeni ilk olarak listelenir.

İlk tarayıcı savaşı sırasında, birçok web sunucusu, çerçeveler de dahil olmak üzere gelişmiş özellikler gerektiren web sayfalarını yalnızca Mozilla'nın bir sürümü olarak tanımlanan istemcilere gönderecek şekilde yapılandırılmıştı. Diğer tarayıcılar Mosaic, Cello ya da Samba gibi eski ürünler olarak kabul ediliyor ve çıplak HTML belgeleri gönderiliyordu.

Mobil/7B405 : Bu, tarayıcı tarafından doğrudan tarayıcıda veya üçüncü taraflar aracılığıyla kullanılabilen belirli geliştirmeleri belirtmek için kullanılır. Buna bir örnek, Live Meeting hizmetinin yazılımın kurulu olup olmadığını bilmesi için bir uzantı kaydeden Microsoft Live Meeting'dir; bu, toplantılara katılmak için kolaylaştırılmış bir deneyim sağlayabileceği anlamına gelir.

Chromium kod tabanına geçmeden önce Opera, User-Agent dizesi "Mozilla" ile başlamayan (bunun yerine "Opera" ile başlayan) en yaygın kullanılan web tarayıcısıydı. 15 Temmuz 2013'ten bu yana Opera'nın User-Agent dizesi "Mozilla/5.0" ile başlıyor ve eski sunucu kurallarıyla karşılaşmamak için artık "Opera" kelimesini içermiyor (bunun yerine Opera sürümünü belirtmek için "OPR" dizesini kullanıyor).

Çeşitli Web tarayıcı ürünlerinin popülerliği Web'in tarihi boyunca değişiklik göstermiştir ve bu durum web sitelerinin tasarımını öyle etkilemiştir ki, web siteleri bazen World Wide Web Consortium (W3C) veya Internet Engineering Task Force (IETF) tarafından belirlenen tek tip standartlara göre değil, yalnızca belirli tarayıcılarla iyi çalışacak şekilde tasarlanmıştır. Web siteleri genellikle tarayıcı sürümünü tespit ederek gönderilen sayfa tasarımını alınan kullanıcı aracısı dizesine göre ayarlamak için kod içerir. Bu, daha az popüler tarayıcılara karmaşık içeriklerin gönderilmemesi (bu içeriklerle doğru şekilde başa çıkabilecek olsalar bile) ya da aşırı durumlarda tüm içeriğin reddedilmesi anlamına gelebilir. Bu nedenle, çeşitli tarayıcılar belirli sunucu tarafı içeriğini zorlamak için kimliklerini gizleme veya taklit etme özelliğine sahiptir. Örneğin, Android tarayıcısı uyumluluğa yardımcı olmak için kendisini Safari olarak tanımlar (diğer şeylerin yanı sıra).

Kullanıcı aracısı koklama, belirli kullanıcı aracılarıyla görüntülendiğinde farklı veya ayarlanmış içerik gösteren web sitelerinin uygulamasıdır. Buna bir örnek, Microsoft Exchange Server 2003'ün Outlook Web Access özelliğidir. Internet Explorer 6 veya daha yenisiyle görüntülendiğinde, diğer tarayıcılardaki aynı sayfaya kıyasla daha fazla işlevsellik görüntülenir. Tarayıcıya özgü tasarımı teşvik ettiğinden ve tanınmayan kullanıcı aracısı kimlikleriyle yeni tarayıcıları cezalandırdığından, kullanıcı aracısı koklama kötü bir uygulama olarak kabul edilir. Bunun yerine, W3C standart HTML işaretlemesi oluşturmayı, mümkün olduğunca çok sayıda tarayıcıda doğru işlemeye izin vermeyi ve belirli tarayıcı sürümleri veya markaları yerine belirli tarayıcı özelliklerini test etmeyi önerir.

Netscape Navigator ve Internet Explorer gibi Amerika Birleşik Devletleri'nde oluşturulan web tarayıcıları daha önce kullanıcı aracısı dizesindeki şifreleme gücünü belirtmek için U, I ve N harflerini kullanıyordu. Amerika Birleşik Devletleri hükümetinin 40 bitten daha uzun anahtarlarla şifrelemenin ihraç edilmesine izin verdiği 1996 yılına kadar, satıcılar farklı şifreleme güçlerine sahip çeşitli tarayıcı sürümleri gönderdiler. "U", "ABD" anlamına gelir (128 bit şifrelemeli sürüm için), "I", "Uluslararası" anlamına gelirtarayıcı 40 bit şifrelemeye sahiptir ve dünyanın her yerinde kullanılabilirve "N" ( fiili ) "Yok" (şifreleme yok) anlamına gelir. İhracat kısıtlamalarının kaldırılmasının ardından çoğu satıcı 256 bit şifrelemeyi destekledi.

2020'de Google, Google Chrome tarayıcılarında User-Agent başlığı desteğini aşamalı olarak kaldıracağını duyurdu. Diğer büyük web tarayıcı satıcılarının hareketi desteklediğini, ancak diğer satıcıların ne zaman aynı şeyi yapacağını bilmediklerini belirttiler. Google, İstemci İpuçları adlı yeni bir özelliğin, User-Agent dizesinin işlevselliğinin yerini alacağını belirtti.

Şubat 2023'te piyasaya sürülen Firefox 110'dan başlayarak Mozilla, tarayıcının kullanıcı aracısının 109. sürümünde bazı kısımlarını geçici olarak dondurmak zorunda kaldı. Bu, birkaç web sitesinin tarayıcının bir geliştirme sürümünü (kendisini Mozilla/5.0 (Windows NT 10.0; Win64; rv:110.0 ) Gecko/20100101 Firefox/110.0 ) dizesiyle tanımlayan) kullanımdan kaldırılmış İnternet olarak yanlış tanıması nedeniyle yapıldı. Explorer 11 ( Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0 ) like Gecko bildirir). Firefox 120'nin piyasaya sürülmesinden sonra sorun kendi kendine düzelecektir, çünkü yalnızca 110'dan 119'a kadar olan sürümler bundan etkilenmektedir.