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.

Kullanıcı Aracısı Kimliği
-------------------------

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 Kullanımı
-----------------

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.

User-Agent dizesi, Robots Exclusion Standardı (robots.txt dosyası) kullanılarak Web tarayıcılarının bir web sitesinin belirli bölümlerine erişiminin engellenebileceği kriterlerden biridir.

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.

### İnsanlar tarafından işletilen web tarayıcıları için format

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.

Bu stringin parçaları şu şekildedir:

* ürün adı ve sürümü ( *WikiBrowser/1.0* )
* düzen motoru ve sürümü ( *Gecko/1.0* )

İ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.

Bu nedenle, çoğu Web tarayıcısı aşağıdaki gibi bir User-Agent dize değeri kullanır:

Mozilla/[*version*] ([*system and browser information*]) [*platform*] ([*platform details*]) [*extensions*]
Örneğin, iPad'deki Safari aşağıdakileri kullanmıştır:

```
Mozilla/5.0 (iPad; U; Mac OS X gibi CPU OS 3_2_1; en-us) AppleWebKit/531.21.10 (KHTML, Gecko gibi) Mobile/7B405
```

Bu stringin bileşenleri aşağıdaki gibidir:

* *Mozilla/5.0* : Daha önce Mozilla işleme motoruyla uyumluluğu belirtmek için kullanılıyordu.
* *(iPad; U; Mac OS X gibi CPU OS 3\_2\_1; en-us)* : Tarayıcının çalıştığı sistemin ayrıntıları.
* *AppleWebKit/531.21.10* : Tarayıcının kullandığı platform.
* *(KHTML, Gecko gibi)* : Tarayıcı platformu ayrıntıları.
* *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).

### Otomasyon Aracıları (botlar) İçin Format

Otomatik web tarama araçları, sorun çıkması durumunda önemli bir alanın iletişim bilgileri olduğu basitleştirilmiş bir form kullanabilir. Geleneksel olarak "bot" kelimesi aracının adına dahil edilir. Örneğin:

```
Googlebot/2.1 (+http://www.google.com/bot.html)
```

Otomasyon aracıların "robots.txt "adlı özel bir dosyada kurallara uyması beklenir.

### Kullanıcı Aracısı Sahtekarlığı

Ç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).

İndirme yöneticileri ve çevrimdışı tarayıcılar gibi diğer HTTP istemci programları genellikle kullanıcı aracısı dizesini değiştirme yeteneğine sahiptir.

Kullanıcı aracısı sahtekarlığının bir sonucu olarak , Web tarayıcısı kullanımına ilişkin toplanan istatistikler hatalı olabilir.

### Kullanıcı Aracısı Koklama

Ana madde: Browser sniffing
*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.

Cep telefonları tarafından görüntülenmesi amaçlanan web siteleri, mobil tarayıcılar genellikle birbirinden büyük farklılıklar gösterdiğinden, genellikle kullanıcı aracısı koklamaya dayanır.

### Şifreleme Gücü Gösterimleri

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 gelir – tarayıcı 40 bit şifrelemeye sahiptir ve dünyanın her yerinde kullanılabilir – ve "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.

### User-Agent Başlığının Kullanımdan Kaldırılması

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.

### Tarayıcı Yanlış Tanımlama

Ş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.

Ayrıca bakınız
--------------

* Robotları hariç tutma standardı
* Web gezgini
* Kablosuz Evrensel Kaynak Dosyası (WURFL)
* Kullanıcı Aracısı Profili (UAProf)
* Tarayıcı koklama
* Web tarayıcı motoru

Kaynakça
--------

1. ↑  "Browser Versions Carry 10.5 Bits of Identifying Information on Average". Electronic Frontier Foundation. 27 Ocak 2010. 29 Ocak 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Ağustos 2011.  Yazar `|ad1=` eksik `|soyadı1=` (yardım)
2. ↑  "W3C Markup Validation Service". W3C. 5 Haziran 1997 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Ekim 2011.  Yazar `|ad1=` eksik `|soyadı1=` (yardım)
3. ↑  "Browser Detection and Cross Browser Support". *Mozilla Developer Center*. Mozilla. 10 Şubat 2003. 17 Kasım 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Mayıs 2009.  Yazar `|ad1=` eksik `|soyadı1=` (yardım)
4. ↑  "user-agent strings (obsolete)". mozilla.org. 28 Mart 1998. 13 Eylül 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ocak 2010.  Yazar `|ad1=` eksik `|soyadı1=` (yardım)
5. ↑  "Chrome Phasing out Support for User Agent". *InfoQ*. 25 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Mart 2020.
6. ↑  "Google to phase out user-agent strings in Chrome". *ZDNet* (İngilizce). 14 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Mart 2020.  Yazar `|ad1=` eksik `|soyadı1=` (yardım)
7. ↑  "Firefox Release Notes". *mozilla.org*. 31 Ocak 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2023.
8. ↑  "www.bestbuy.com - Firefox is an unsupported browser". *github.com*. 9 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2023.
9. ↑  "Freeze `rv:` segment in the User Agent string to `rv:109.0` to avoid erroneous IE11 detection". *bugzilla.mozilla.org*. 22 Aralık 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2023.
10. ↑  "Remove the frozen `rv:109.0` IE11 UA workaround after Firefox reaches version 120 (desktop and Android)". *bugzilla.mozilla.org*. 29 Aralık 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2023.