23Jul

Mikä on selain käyttäjän edustaja?

Selaimesi lähettää käyttäjän edustajansa jokaiseen verkkosivustoon, johon olet yhteydessä.Olemme kirjoittaneet selaimesi käyttäjäagentin vaihtamisesta ennen - mutta miltä osin käyttäjäagentti on?

Käyttäjäagentti on "merkkijono" eli tekstirivi - joka tunnistaa selaimen ja käyttöjärjestelmän webpalvelimelle. Tämä kuulostaa yksinkertaiselta, mutta käyttäjäagentit ovat muuttuneet sekaannuksi ajan mittaan.

Perusteet

Kun selaimesi muodostaa yhteyden verkkosivustoon, siinä on User-Agent-kenttä sen HTTP-otsikossa. Käyttäjäkenttän sisältö vaihtelee selaimesta selaimeen. Jokaisella selaimella on oma, erottuva käyttäjäagentti. Pohjimmiltaan käyttäjäagentti on selaimen tapa sanoa "Hei, olen Mozilla Firefox Windowsissa" tai "Hei, olen Safari iPhonessa" web-palvelimelle.

Verkkopalvelin voi käyttää näitä tietoja palvelemaan erilaisia ​​verkkosivuja eri verkkoselaimille ja eri käyttöjärjestelmille. Esimerkiksi verkkosivusto voisi lähettää mobiilisivuja mobiiliselaimille, nykyaikaisille sivuille nykyaikaisille selaimille ja päivittää selaimesi Internet Explorer 6: lla.

Käyttäjäaineiden tarkastelu

Esimerkiksi Firefoxin käyttäjäagentti on Windows 7:

Mozilla / 5.0( Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0

Tämä käyttäjäagentti kertoo verkkopalvelimelle melko vähän: käyttöjärjestelmä on Windows 7( koodinimi Windows NT 6.1)bittinen Windows-versio( WOW64) ja selain itsessään on Firefox 12.

Katsotaan nyt Internet Explorer 9: n käyttäjäagentti, joka on:

Mozilla / 5.0( yhteensopiva, MSIE 9.0, Windows NT 6.1, WOW64, Trident /5.0)

Käyttäjäagenttijono tunnistaa selaimen IE 9: ksi Trident 5 renderointimoottorilla. Voit kuitenkin havaita jotain hämmentävää - IE tunnistaa itsensä Mozillaksi.

Palaan hetkiin. Tutustu ensin Google Chromen käyttäjäagenttiin:

Mozilla / 5.0( Windows NT 6.1, WOW64) AppleWebKit / 536.5( KHTML, kuten Gecko) Chrome / 19.0.1084.52 Safari / 536.5

Tontti paksumpaa: Chrome näyttää olevan molempiaMozilla ja Safari. Ymmärtääksemme, miksi meidän on tutkittava käyttäjäagenttien ja selainten historiaa.

User Agent String Mess

-mosaiikki oli yksi ensimmäisistä selaimista. Sen käyttäjäagenttijono oli NCSA_Mosaic / 2.0.Myöhemmin Mozilla tuli mukaan( myöhemmin Netscape), ja sen käyttäjäagentti oli Mozilla / 1.0.Mozilla oli edistyksellisempi selain kuin Mosaic - erityisesti se tuki kehyksiä.Web-palvelimet tarkistavat, että käyttäjäagentti sisälsi sanan Mozilla ja lähetti kehyksiä sisältävät sivut Mozilla-selaimiin. Muihin selaimiin web-palvelimet lähettivät vanhat sivut ilman kehyksiä.

Lopulta Microsoftin Internet Explorer tuli mukaan ja tuki myös kehyksiä.IE ei kuitenkaan saanut verkkosivuja kehyksillä, koska web-palvelimet lähettivät ne vain Mozillan selaimille. Tämän ongelman korjaamiseksi Microsoft lisäsi sanaa Mozilla käyttäjälähtöihinsä ja heitti lisätiedot( sana "yhteensopiva" ja viittaus IE: hen). Web-palvelimet näkivät mielellään sanan Mozilla ja lähettivät IE nykyaikaisille verkkosivuille. Muut selaimet, jotka tulivat myöhemmin, tekivät samoin.

Lopulta jotkut palvelimet etsivät sanaa Gecko - Firefoxin renderointimoottori - ja palvelivat Gecko-selaimia eri sivuilla kuin vanhat selaimet. KHTML - joka on alun perin kehitetty Konquererille Linuxin KDE-työpöydällä - lisäsi sanat "kuten Gecko", jotta he saisivat myös modernit Geckon suunnittelemat sivut. WebKit perustui KHTML: hen - kun se kehitettiin, he lisäsivät sanaa WebKit ja säilyttivät alkuperäisen "KHTML, kuten Gecko" -rivin yhteensopivuustarkoituksiin. Tällä tavalla selainkehittäjät pitivät ajanhausta käyttäjien sanoja lisäämällä.

Web-palvelimet eivät todellakaan välitä siitä, mikä tarkka käyttäjäagentti on - he vain tarkistavat, sisältääkö se tietyn sana.

Käyttää

Web-palvelimia käyttävät käyttäjäagentit monenlaisiin tarkoituksiin, mukaan lukien:

  • WWW-sivujen tarjoaminen eri verkkoselaimille. Tätä voidaan käyttää hyväksi - esimerkiksi palvella yksinkertaisempia verkkosivuja vanhemmille selaimille - tai pahalle - esimerkiksi näyttääksesi "Tämä web-sivu on tarkasteltava Internet Explorerissa" -viestissä.
  • Erilaisen sisällön näyttäminen eri käyttöjärjestelmille - esimerkiksi näyttämällä pienikokoinen sivu mobiililaitteille.
  • Kerää tilastoja, joissa näytetään käyttäjien käyttämä selaimet ja käyttöjärjestelmät. Jos näet selaimen markkina-osuustilastot, näin hankitaan.

Web-indeksointipommit käyttävät myös käyttäjäagentteja. Esimerkiksi Googlen web-indeksointiyritys tunnistaa itsensä seuraavasti:

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

-verkkopalvelimet voivat antaa botille erityiskäsittelyä - esimerkiksi sallimalla ne pakollisten rekisteröintinäkymien kautta.(Kyllä, tämä tarkoittaa, että voit joskus ohittaa rekisteröintinäkymät asettamalla käyttäjän edustajan Googlebotille.)

Web-palvelimet voivat myös antaa tilauksia tiettyihin robotteihin( tai kaikkiin robotteihin) robots.txt-tiedoston avulla. Esimerkiksi WWW-palvelin voisi kertoa tietyn botin menemään pois tai kertoa toiselle botsilla vain indeksoida sivuston tiettyjä alueita. Robots.txt-tiedostossa botit tunnistetaan niiden käyttäjäagenttien avulla.

Kaikki tärkeimmät selaimet sisältävät tapoja määrittää mukautetut käyttäjäagentit, joten näet, mitä web-palvelimia lähettää eri selaimille. Aseta esimerkiksi työpöydän selain mobiiliselaimen käyttäjäagenttijonoon ja näet työpöydällä olevien verkkosivujen mobiiliversiot.