If-Koubou

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

Mikä on selain käyttäjän edustaja? (Miten)

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 verkkopalvelimelle. Tämä kuulostaa yksinkertaiselta, mutta käyttäjäagentit ovat muuttuneet sekaannuksi ajan mittaan.

Perusteet

Kun selaimesi muodostaa yhteyden verkkosivustoon, siihen sisältyy HTTP-otsikossa käyttäjäagentti-kenttä. 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äivitä selaimesi" -viestin Internet Explorer 6: een.

Käyttäjäaineiden tarkastelu

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

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), se on 64-bittinen Windows-versio (WOW64) ja selain 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.

Tulemme palaamaan siihen hetken kuluttua. Tutkitaan ensin Google Chromen käyttäjäagentti:

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

Tontti sävyttää: Chrome näyttää olevan sekä Mozilla että 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 lisäsi lisätietoja (sana "yhteensopiva" ja viittaus IE: ään). 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ötarkoitukset

Web-palvelimet käyttävät käyttäjäagentteja useisiin 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ä.
  • Eri sisältöjen näyttäminen erilaisiin käyttöjärjestelmiin - esimerkiksi näyttämällä alhaisempi sivu mobiililaitteille.
  • Tilastotietojen kerääminen käyttäjien käyttäjien käytössä olevista selaimista ja käyttöjärjestelmistä. Jos näet selaimen markkina-osuustilastot, näin hankitaan.

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

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

Web-palvelimet voivat antaa botille erityiskäsittelyä - esimerkiksi sallimalla ne pakollisten rekisteröintivälineiden 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 tietyille robotteille (tai kaikille robotteille) käyttäen robots.txt-tiedostoa. 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, jotta 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.