Käyttäjäagentti - asiakassovelluksen tunnistemerkkijono ; käytetään yleisesti sovelluksissa, jotka käyttävät verkkosivustoja - selaimet , hakurobotit ja hämähäkit , matkapuhelimet ja muut laitteet, joissa on sisäänrakennettu pääsy verkkoresursseihin.
Vieraillessaan verkkosivustolla asiakassovellus lähettää tyypillisesti tietoja itsestään web-palvelimelle , tekstijonon, joka on osa HTTP - pyyntöä, joka alkaa User-agent:' tai User-Agent: , ja sisältää yleensä tietoja, kuten nimen. ja sovelluksen versio, tietokoneen käyttöjärjestelmä ja kieli. Hämähäkkien kohdalla tämä merkkijono sisältää usein URL -osoitteen ja sähköpostiosoitteen , josta verkkovastaava voi ottaa yhteyttä hämähäkin operaattoriin.
Koska yksittäiset selaimet ovat vallinneet eri aikoina World Wide Webin historiassa , monet verkkosivustot eivät olleet W3C- ja IETF -standardien mukaisia , vaan toimimaan tietyn selaimen kanssa. Nämä sivustot lähettävät erilaista verkkosivun sisältöä sen mukaan, millaisen User-Agent-arvon ne saavat asiakkaalta. Tämä johtaa siihen, että sivusto voidaan avata vain muutamilla suosituimmista selaimista ja selaimet, joilla on hieman erilaiset tunnukset, "kielletään".
Monet verkkovastaavat pitävät tätä lähestymistapaa huonona käytäntönä ja suosittelevat, että HTML-merkinnät olisi mahdollisimman standardoitu, jotta sivuston sivut näkyvät oikein mahdollisimman monella selaimella.
Matkapuhelinsivustot joutuvat usein luottamaan voimakkaasti User-Agent -määritykseen, koska eri matkapuhelimien selaimet ovat liian erilaisia. Siksi mobiiliverkkoportaalit luovat yleensä erilaisia sivuja matkapuhelinmallista riippuen. Nämä erot voivat vaihdella pienistä (kuvien koon muuttaminen erityisesti pienempiä näyttöjä varten) varsin merkittäviin ( WML XHTML -muodon sijaan ).
Verkkovastaavat käyttävät myös User-agent-merkkijonoa estämään hakurobotteja indeksoimasta tiettyjä sivuston sivuja, esimerkiksi silloin, kun tiettyjen sivujen indeksointi ei ole järkevää tai tietty hämähäkki kuormittaa paljon palvelinta. Verkkovastaava voi käyttää erityistä robots.txt -tiedostoa suositellakseen hämähäkille tai yksinkertaisesti määrittää verkkosivuston olemaan antamatta näitä sivuja hämähäkille.
Se, että verkkosivustot käyttävät User-agent-merkkijonoa sivun näytön muuttamiseen, johtaa usein siihen, että vähemmän suositut selaimet eivät saa sivun koko sisältöä, vaikka ne voivat näyttää sen oikein, ja joissain ääritapauksissa tällaiset selaimet eivät saa mitään kaikki. [1] Tässä suhteessa monet selaimet alkoivat "piilottaa" tai "väärentää" User-agenttia.
Varhainen esimerkki tästä on Internet Explorerin käyttämä User-Agent-merkkijono, joka alkaa sanalla " Mozilla/<versio> (yhteensopiva; MSIE <versio>… ") hakemaan sisältöä, joka on tarkoitettu Netscape Navigatoriin , sen pääkilpailijalle 1990-luvulla . On huomattava, että "Mozilla" tässä tapauksessa ei ole Mozillan avoimen lähdekoodin selain, joka julkaistiin paljon myöhemmin, vaan alkuperäinen koodinimi Navigator, joka oli myös Netscape-maskotin ( maskotti ) nimi. Tämä User-Agentin muoto merkkijonoa on sittemmin käyttänyt muut selaimet , erityisesti koska Internet Explorerista on tullut hallitseva.
Kun Internet Explorerista tuli hallitseva selain, kilpailijat, kuten Firefox , Safari ja Opera , rakensivat järjestelmiä, jotta käyttäjät voivat valita väärän käyttäjäagentin, samoin kuin Explorerin uusimmissa versioissa. Jotkut niistä (Firefox ja Safari) kopioivat User-Agent-arvon kokonaan, toiset (Opera) kopioivat User-Agent-arvon ja lisäsivät selaimen oikean nimen loppuun, mikä johti myöhemmin merkkijonoon, joka sisälsi kolme nimeä ja versiota: ensimmäinen on nimeltään "Mozilla" (eli Netscape Navigator); edelleen "MSIE" (Internet Explorer); ja viimeiseksi kelvollinen selain, kuten "Opera". Opera antoi myös mahdollisuuden naamioitua kokonaan Internet Exploreriksi tai Firefoxiksi piilottaen "Opera"-nimen kokonaan.
Safarin tapauksessa User-Agent-merkkijono sisältää 5 nimeä (Mozilla, AppleWebKit ("moottorin" tunniste), "KHTML, kuten Gecko" (käytettävä Safari WebKit perustuu KHTML-moottoriin, Gecko on koodinimi Mozilla Firefoxin uusimpien versioiden moottorille) ja Safari. Näin ollen, jos sivusto tarkistaa lähes minkä tahansa nykyaikaisen selaimen (paitsi Opera), Safari läpäisee sen.Muut WebKit-moottoriin perustuvat selaimet toimivat samalla tavalla.
Selainten lisäksi muut HTTP-protokollaa käyttävät ohjelmat, kuten latausten hallintaohjelmat ja offline-selaimet , voivat muuttaa palvelimelle lähetettävää User-Agent -arvoa käyttäjän pyynnöstä. Tämä tehdään luultavasti yhteensopivuuden varmistamiseksi tiettyjen palvelimien kanssa (jotkut palvelimet kieltäytyvät palvelemasta tällaisia ohjelmia, koska ne voivat kuormittaa merkittävästi palvelinresursseja; Google esimerkiksi palauttaa 403:n oletusarvoiselle python urllib -agentille).
Tämä ongelma on edelleen olemassa selainmaailmassa, ja siksi on käynnistetty kampanja, jonka tarkoituksena on rohkaista sivustojen kehittäjiä suunnittelemaan sivustoja standardien mukaan, ei millekään tietylle selaimelle.
Esimerkiksi monet vuonna 2005 luodut verkkosivustot ovat paremmin standardien mukaisia kuin aiemmin verkon historiassa. Jotkut sivustot käyttävät kuitenkin edelleen vanhentuneita JavaScript -komentosarjoja , jotka olennaisesti estävät muita selaimia kuin Internet Exploreria tai Netscape Navigatoria toimimasta. Syynä tähän on usein muilta sivustoilta otetun vanhan koodin mieletön kopioiminen ymmärtämättä täysin, mitä vaikutusta koodilla on.
Yksi User-Agent-arvon väärentämisen tulos on yliarvioida vastaavan (yleensä jo suositun) selaimen suosiota tilastoissa ja aliarvioida muiden selainten suosiota, minkä seurauksena yllä olevien sivustojen kehittäjillä ei ole kannustinta korjata yhteensopivuutta. ongelmia.
Netscape , Mozilla , Opera ja muutamat muut käyttävät jotakin näistä kirjaimista ilmaisemaan tukemansa salaustason. Koska Yhdysvaltain hallitus ei aiemmin sallinut yli 40 bitin avaimella olevien salausjärjestelmien vientiä, julkaistiin erilaisia versioita eri salaustasoilla. "U" tarkoitti "USA" (Yhdysvallat) (versioille, joissa on 128-bittinen salausavain), "I" tarkoitti "kansainvälistä" (kansainvälinen) (selaimella oli kyky salata 40-bittisellä avaimella ja se voi olla käytetään kaikkialla maailmassa), "N" tarkoitti "Ei mitään" (ei salausta). Aluksi "U"-versiot saivat ladata vain Yhdysvaltain asukkaat, mutta koska Yhdysvaltain hallitus on lieventänyt politiikkaansa, korkean tason salausjärjestelmien vienti on nyt sallittu useimpiin maihin. Nyt selaimia jaetaan vain U-kirjaimella varustetussa versiossa, joka tukee salausta jopa 256 bitin avaimella, koska kansainvälisen version tarve on kadonnut.