Böngészője elküldi felhasználói ügynökét minden olyan webhelyre, amelyhez csatlakozik. Írtunk róla a böngésző felhasználói ügynökének megváltoztatása korábban - de mi is pontosan a felhasználói ügynök?
A felhasználói ügynök egy „karakterlánc” - vagyis szövegsor -, amely a böngészőt és az operációs rendszert azonosítja a webkiszolgálóval. Ez egyszerűen hangzik, de a felhasználói ügynökök idővel rendetlenséggé váltak.
Az alapok
Amikor a böngésző csatlakozik egy webhelyhez, a User-Agent mezőt tartalmazza a HTTP fejlécében. A felhasználói ügynök mező tartalma böngészőnként eltérő. Minden böngészőnek megvan a saját, megkülönböztető felhasználói ügynöke. Lényegében a felhasználói ügynök a böngésző egyik módja, hogy a „Szia, Mozilla Firefox vagyok Windows-on” vagy „Szia, Safari vagyok iPhone-on” üzenetet mondhat egy webszerverre.
A webszerver ezeket az információkat felhasználhatja különböző weboldalak kiszolgálására különböző böngészőkben és különböző operációs rendszerekben. Például egy webhely mobil oldalakat küldhet mobil böngészőkhöz, modern oldalakat modern böngészőkhöz, és „kérjük, frissítse a böngészőt” üzenetet Internet Explorer 6-ra.
Felhasználói ügynökök vizsgálata
Például itt van a Firefox felhasználói ügynöke a Windows 7 rendszeren:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Ez a felhasználói ügynök elég sokat mond a webkiszolgálónak: Az operációs rendszer Windows 7 (kódnév: Windows NT 6.1), a Windows 64 bites verziója (WOW64), maga a böngésző pedig a Firefox 12.
Most vessünk egy pillantást az Internet Explorer 9 felhasználói ügynökére:
Mozilla / 5.0 (kompatibilis; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
A felhasználói ügynök karakterlánc a böngészőt IE 9-ként azonosítja a Trident 5 renderelő motorral. Ugyanakkor észrevehet valami zavarót - az IE önmagát Mozilla néven azonosítja.
Erre egy perc múlva visszatérünk. Először vizsgáljuk meg a Google Chrome felhasználói ügynökét is:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, mint a Gecko) Chrome / 19.0.1084.52 Safari / 536.5
A cselekmény sűrűsödik: a Chrome úgy tesz, mintha mind Mozilla, mind pedig Safari lenne. A megértéshez meg kell vizsgálnunk a felhasználói ügynökök és a böngészők előzményeit.
A Felhasználói ügynök karakterlánc-üzenete
A Mosaic volt az egyik első böngésző. Felhasználói ügynök-karaktersorozata az NCSA_Mosaic / 2.0 volt. Később jött a Mozilla (később átnevezték Netscape-re), és felhasználói ügynöke a Mozilla / 1.0 volt. A Mozilla fejlettebb böngésző volt, mint a Mosaic - különösen a kereteket támogatta. A webszerverek ellenőrizték, hogy a felhasználói ügynök tartalmazta-e a Mozilla szót, és kereteket tartalmazó oldalakat küldött a Mozilla böngészőkbe. Más böngészőkhöz a webszerverek keret nélkül küldték el a régi oldalakat.
Végül jött a Microsoft Internet Explorer, és támogatta a kereteket is. Az IE azonban nem kapott kerettel rendelkező weblapokat, mert a webszerverek ezeket csak a Mozilla böngészőkbe küldték. A probléma megoldása érdekében a Microsoft hozzáadta a Mozilla szót a felhasználói ügynökhöz, és további információkat (a „kompatibilis” szót és az IE-re való hivatkozást) dobott be. A webszerverek örömmel látták a Mozilla szót, és elküldték IE-nek a modern weboldalakat. Más később érkező böngészők is ugyanezt tették.
Végül néhány szerver a Gecko szót - a Firefox renderelő motorját - kereste, és a Gecko böngészőket más oldalakkal szolgálták, mint a régebbi böngészők. A KHTML - amelyet eredetileg a Konquerer számára fejlesztettek ki a Linux KDE asztalán - hozzáadta a „mint Gecko” szavakat, így ők is megkapják a Geckónak tervezett modern oldalakat. A WebKit a KHTML-re épült - amikor fejlesztették, hozzáadták a WebKit szót, és kompatibilitási célokból megtartották az eredeti „KHTML, like Gecko” sort. Ily módon a böngésző fejlesztői idővel folyamatosan adtak szavakat felhasználói ügynökeikhez.
A webszerverek nem igazán foglalkoznak azzal, hogy mi a pontos felhasználói ügynök-karaktersorozat - csak megnézik, hogy tartalmaz-e egy adott szót.
Használ
A webszerverek a felhasználói ügynököket különféle célokra használják, többek között:
- Különböző weboldalak kiszolgálása különböző böngészőkben. Ez felhasználható jó célokra - például egyszerűbb weboldalak kiszolgálására a régebbi böngészők számára - vagy gonoszságra - például egy „Ezt a weboldalt az Internet Explorerben kell megtekinteni” üzenet megjelenítésére.
- Különböző tartalmak megjelenítése különböző operációs rendszerek számára - például egy karcsúsított oldal megjelenítésével a mobileszközökön.
- Statisztikák gyűjtése a felhasználók által használt böngészőkről és operációs rendszerekről. Ha valaha is látja a böngésző piaci részesedési statisztikáit, akkor ezeket megszerezte.
Az internetes bejáró robotok felhasználói ügynököket is használnak. Például a Google webrobotja a következőket azonosítja:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
A webszerverek különleges bánásmódot adhatnak a botoknak - például lehetővé téve számukra a kötelező regisztrációs képernyőket. (Igen, ez azt jelenti, hogy időnként megkerülheti a regisztrációs képernyőket, ha felhasználói ügynökét a Googlebotra állítja.)
A webszerverek a robots.txt fájl használatával megrendeléseket is adhatnak bizonyos botoknak (vagy az összes botnak). Például egy webkiszolgáló utasíthatja egy adott botot, hogy menjen el, vagy pedig egy másik botot, hogy csak a webhely bizonyos területeit indexelje. A robots.txt fájlban a botokat felhasználói ügynök karakterláncaik azonosítják.
Minden főbb böngésző tartalmazza a módját egyéni felhasználói ügynökök beállítása , így láthatja, hogy a webszerverek mit küldenek a különböző böngészőknek. Például állítsa az asztali böngészőt egy mobilböngésző felhasználói ügynök karakterláncára, és az asztalon láthatja a weboldalak mobil verzióit.