Kas ir pārlūkprogrammas lietotāja aģents?
Jūsu pārlūkprogramma nosūta savu lietotāja aģentu uz katru vietni, ar kuru izveidojat savienojumu. Mēs esam rakstījuši par sava pārlūkprogrammas lietotāja aģenta maiņu - bet tas, kas tieši ir lietotāja aģents?
Lietotāja aģents ir “virkne” - tas ir, teksta rinda - pārlūkprogrammas un operētājsistēmas identificēšana tīmekļa serverī. Tas izklausās vienkārši, bet lietotāja aģenti laika gaitā ir kļuvuši par putru.
Pamati
Kad jūsu pārlūkprogramma izveido savienojumu ar tīmekļa vietni, tā HTTP galvenē ir iekļauts lietotāja aģents. Lietotāja aģenta lauka saturs dažādās pārlūkprogrammās atšķiras. Katrai pārlūkprogrammai ir savs atšķirīgs lietotāja aģents. Būtībā lietotāja aģents ir veids, kā pārlūks var pateikt „Hi, es esmu Mozilla Firefox sistēmā Windows” vai „Sveiki, es esmu Safari iPhone tīklā” tīmekļa serverim.
Tīmekļa serveris var izmantot šo informāciju, lai dažādās tīmekļa pārlūkprogrammās un dažādās operētājsistēmās apkalpotu dažādas tīmekļa lapas. Piemēram, tīmekļa vietne varētu sūtīt mobilās lapas mobilajām pārlūkprogrammām, mūsdienīgām lapām modernām pārlūkprogrammām, un, lūdzu, atjauniniet savu pārlūkprogrammas ziņojumu uz programmu Internet Explorer 6.
Lietotāju aģentu pārbaude
Piemēram, šeit ir Firefox lietotāja aģents operētājsistēmā Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12,0
Šis lietotāja aģents stāsta tīmekļa serverim: operētājsistēma ir Windows 7 (koda nosaukums Windows NT 6.1), tā ir Windows 64 bitu versija (WOW64), un pati pārlūkprogramma ir Firefox 12.
Tagad aplūkosim Internet Explorer 9 lietotāja aģentu, kas ir:
Mozilla / 5.0 (saderīgs; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Lietotāja aģentu virkne identificē pārlūku kā IE 9 ar Trident 5 renderēšanas dzinēju. Tomēr jūs varat pamanīt kaut ko neskaidru - IE identificē sevi kā Mozilla.
Pēc tam mēs atgriezīsimies. Pirmkārt, pārbaudīsim arī Google Chrome lietotāja aģentu:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536,5 (KHTML, piemēram, Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Gabals sabiezē: Chrome izliekas kā Mozilla, tā arī Safari. Lai saprastu, kāpēc, mums būs jāpārbauda lietotāju aģentu un pārlūkprogrammu vēsture.
Lietotāja aģentu virkne
Mosaic bija viena no pirmajām pārlūkprogrammām. Tās lietotāja aģentu virkne bija NCSA_Mosaic / 2.0. Vēlāk Mozilla ieradās (vēlāk pārdēvēta par Netscape), un tā lietotāja aģents bija Mozilla / 1.0. Mozilla bija progresīvāka pārlūkprogramma nekā Mosaic - jo īpaši tā atbalstīja rāmjus. Tīmekļa serveri pārbaudīja, lai lietotāja aģents saturētu vārdu Mozilla un nosūtīto lapu, kas satur kadrus, Mozilla pārlūkiem. Citiem pārlūkiem tīmekļa serveri nosūtīja vecās lapas bez rāmjiem.
Visbeidzot, Microsoft Internet Explorer ieradās un atbalstīja arī rāmjus. Tomēr IE nesaņēma tīmekļa lapas ar rāmjiem, jo tīmekļa serveri tikai nosūtīja tos uz Mozilla pārlūkiem. Lai atrisinātu šo problēmu, Microsoft pievienoja vārdu "Mozilla" savam lietotāja aģentam un iemeta papildu informāciju (vārdu "saderīgs" un atsauci uz IE.) Tīmekļa serveri labprāt redzēja vārdu "Mozilla" un nosūtīja IE modernās tīmekļa lapas. Citas pārlūkprogrammas, kas vēlāk nāca, darīja to pašu.
Galu galā, daži serveri meklēja vārdu Gecko - Firefox renderēšanas dzinējs - un apkalpoja Gecko pārlūkprogrammas dažādās lapās nekā vecākas pārlūkprogrammas. KHTML, kas sākotnēji tika izstrādāts Konquerer uz Linux KDE darbvirsmas, pievienoja vārdus “tāpat kā Gecko”, lai viņi arī saņemtu mūsdienīgas lapas, kas paredzētas Gecko. WebKit balstījās uz KHTML - kad tas tika izstrādāts, viņi pievienoja vārdu WebKit un saglabāja oriģinālo “KHTML, piemēram, Gecko” līniju saderības nolūkos. Šādā veidā pārlūkprogrammu izstrādātāji laika gaitā pievienoja vārdus saviem lietotāju aģentiem.
Tīmekļa serveri nav īsti par to, kāda ir precīza lietotāja aģentu virkne - viņi vienkārši pārbauda, vai tas satur konkrētu vārdu.
Lietojumi
Tīmekļa serveri izmanto lietotāju aģentus dažādiem mērķiem, tostarp:
- Dažādu tīmekļa lapu apkalpošana dažādās tīmekļa pārlūkprogrammās. To var izmantot par labu - piemēram, lai kalpotu vienkāršākām tīmekļa lapām vecākām pārlūkprogrammām - vai ļaunām -, piemēram, lai parādītu ziņojumu “Šī tīmekļa lapa ir jāpārskata Internet Explorer”.
- Dažāda satura attēlošana dažādām operētājsistēmām - piemēram, parādot samazinātu lapu mobilajās ierīcēs.
- Statistikas apkopošana, kurā redzamas to lietotāju izmantotās pārlūkprogrammas un operētājsistēmas. Ja kādreiz redzat pārlūkprogrammas tirgus daļu statistiku, tas tiek iegūts.
Tīmekļa pārmeklēšanas roboti izmanto arī lietotāju aģentus. Piemēram, Google tīmekļa rāpuļprogramma identificē sevi kā:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Tīmekļa serveri var sniegt īpašus risinājumus - piemēram, ļaujot tiem izmantot obligātos reģistrācijas ekrānus. (Jā, tas nozīmē, ka dažreiz varat apiet reģistrācijas ekrānus, iestatot lietotāja aģentu Googlebot.)
Tīmekļa serveri var dot rīkojumus arī noteiktām botām (vai visiem botiem), izmantojot failu robots.txt. Piemēram, tīmekļa serveris var pateikt konkrētam botam, lai dotos prom, vai pastāstiet citam botam, lai indeksētu tikai dažas vietnes vietas. Failā robots.txt boti tiek identificēti pēc to lietotāja aģentu virknes.
Visās galvenajās pārlūkprogrammās ir veidi, kā iestatīt pielāgotus lietotāja aģentus, lai jūs varētu redzēt, kurus tīmekļa serverus nosūta dažādām pārlūkprogrammām. Piemēram, iestatiet darbvirsmas pārlūkprogrammu uz mobilās pārlūkprogrammas lietotāja aģentu virkni un darbvirsmā redzēsiet tīmekļa lapu mobilās versijas.