Hemsida » hur » Vad är en webbläsares användaragent?

    Vad är en webbläsares användaragent?

    Din webbläsare skickar sin användaragent till varje webbplats du ansluter till. Vi har skrivit om att ändra webbläsarens användaragent före - men hur exakt är en användaragent i alla fall?

    Ett användaragent är en "sträng" - det vill säga en rad text - identifierar webbläsaren och operativsystemet till webbservern. Det låter enkelt, men användaragenter har blivit en röra över tiden.

    Det grundläggande

    När din webbläsare ansluter till en webbplats innehåller den ett användaragentfält i HTTP-rubriken. Innehållet i användaragentfältet varierar från webbläsare till webbläsare. Varje webbläsare har sin egen, särskiljande användaragent. I huvudsak är ett användaragent ett sätt att en webbläsare säger "Hej, jag är Mozilla Firefox på Windows" eller "Hej, jag är Safari på en iPhone" till en webbserver.

    Webbservern kan använda denna information för att servera olika webbsidor till olika webbläsare och olika operativsystem. Till exempel kan en webbplats skicka mobilsidor till mobila webbläsare, moderna sidor till moderna webbläsare och ett meddelande "Uppgradera din webbläsare" till Internet Explorer 6.

    Granskar användaragenter

    Till exempel, här är Firefox användaragent på Windows 7:

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

    Denna användaragent berättar webbservern ganska lite: Operativsystemet är Windows 7 (kodnamn Windows NT 6.1), det är en 64-bitarsversion av Windows (WOW64) och själva webbläsaren är Firefox 12.

    Låt oss nu titta på Internet Explorer 9s användaragent, som är:

    Mozilla / 5.0 (kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

    Användaragentsträngen identifierar webbläsaren som IE 9 med Trident 5-återgivningsmotorn. Men du kan upptäcka något förvirrande - IE identifierar sig som Mozilla.

    Vi kommer tillbaka till det på en minut. Låt oss först undersöka Google Chromes användaragent också:

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

    Tomten fördykar: Chrome låtsas vara både Mozilla och Safari. För att förstå varför måste vi undersöka historiken för användaragenter och webbläsare.

    User Agent String Mess

    Mosaic var en av de första webbläsarna. Dess användaragentsträng var NCSA_Mosaic / 2.0. Senare kom Mozilla (senare döpte till Netscape), och användaragenten var Mozilla / 1.0. Mozilla var en mer avancerad webbläsare än Mosaic - i synnerhet stödde den ramar. Webservrar kontrolleras för att se att användaragenten innehöll ordet Mozilla och skickade sidor som innehåller ramar till Mozilla-webbläsare. Till andra webbläsare skickade webbservrar de gamla sidorna utan ramar.

    Så småningom kom Microsofts Internet Explorer och det stödde också ramar. IE mottog emellertid inte webbsidor med ramar, eftersom webbservrar bara skickade dem till Mozilla-webbläsare. För att åtgärda detta problem lade Microsoft till ordet Mozilla till sin användaragent och slog in ytterligare information (ordet "kompatibel" och en hänvisning till IE.) Webbservrar var glada att se ordet Mozilla och skickade IE de moderna webbsidorna. Andra webbläsare som kom senare gjorde samma sak.

    Så småningom letade vissa servrar efter ordet Gecko - Firefox reningsmotor - och gav Gecko webbläsare olika sidor än äldre webbläsare. KHTML - som ursprungligen utvecklats för Konquerer på Linuxs KDE-skrivbord - lade till orden "som Gecko" så att de skulle få de moderna sidorna designade för Gecko också. WebKit var baserat på KHTML - när den utvecklades lade de till ordet WebKit och behöll den ursprungliga "KHTML, som Gecko" -linjen för kompatibilitetsändamål. På detta sätt fortsatte webbläsarutvecklare att lägga till ord till sina användaragenter över tiden.

    Webbservrar bryr sig inte riktigt vad den exakta användaragentsträngen är - de kontrollerar bara för att se om det innehåller ett visst ord.

    användningsområden

    Webservrar använder användaragenter för en rad olika ändamål, inklusive:

    • Serverar olika webbsidor till olika webbläsare. Det här kan användas till bra exempel, för att tjäna enklare webbsidor till äldre webbläsare - eller onda - till exempel att visa en "Denna webbsida måste ses i Internet Explorer" -meddelandet.
    • Visar olika innehåll till olika operativsystem - till exempel genom att visa en nedtonad sida på mobila enheter.
    • Samlar statistik som visar webbläsare och operativsystem som används av användarna. Om du någonsin ser webbläsares marknadsandelstatistik så här är de förvärvade.

    Webgranskningsrobotar använder användaragenter också. Till exempel identifierar Googles webbrobotare sig som:

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

    Webbservrar kan ge bots särskild behandling - till exempel genom att tillåta dem genom obligatoriska registreringsskärmar. (Ja, det betyder att du ibland kan byta registreringsskärmar genom att ställa in din användaragent till Googlebot.)

    Webservrar kan också ge order till specifika bots (eller alla bots) med robots.txt-filen. Till exempel kan en webbserver berätta för en specifik bot att gå bort, eller berätta för en annan bot att endast indexera vissa delar av webbplatsen. I robots.txt-filen identifieras robotarna av sina användaragentsträngar.


    Alla större webbläsare innehåller sätt att ställa in anpassade användaragenter, så att du kan se vilka webbservrar som skickas till olika webbläsare. Ställ in din skrivbords webbläsare i en mobilwebbläsarens sträng för användaragent och du får se de mobila versionerna av webbsidor på skrivbordet.