Apakah Ejen Pengguna Penyemak Imbas?
Pelayar anda menghantar ejen penggunanya ke setiap laman web yang anda sambungkan. Kami telah menulis mengenai mengubah ejen pengguna pelayar anda sebelum ini - tetapi apa yang sebenarnya adalah agen pengguna?
Agen pengguna adalah "rentetan" - iaitu, baris teks - mengenal pasti pelayar dan sistem pengendalian ke pelayan web. Ini terdengar mudah, tetapi ejen pengguna telah menjadi huru-hara sepanjang masa.
Asas-asas
Apabila penyemak imbas anda menyambung ke tapak web, ia termasuk medan-Agen Pengguna di pengepala HTTP. Kandungan medan ejen pengguna berbeza dari pelayar ke penyemak imbas. Setiap pelayar mempunyai ejen pengguna yang tersendiri. Pada asasnya, ejen pengguna adalah cara pelayar untuk mengatakan "Hai, saya Mozilla Firefox pada Windows" atau "Hai, saya Safari pada iPhone" ke pelayan web.
Pelayan web boleh menggunakan maklumat ini untuk melayani laman web yang berbeza untuk pelayar web yang berbeza dan sistem pengendalian yang berbeza. Sebagai contoh, sebuah laman web boleh menghantar halaman mudah alih ke penyemak imbas mudah alih, halaman moden untuk penyemak imbas moden, dan mesej "sila naik taraf pelayar anda" ke Internet Explorer 6.
Memeriksa Ejen Pengguna
Sebagai contoh, inilah ejen pengguna Firefox di Windows 7:
Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Ejen pengguna ini memberitahu pelayan web agak sedikit: Sistem operasi adalah Windows 7 (nama kod Windows NT 6.1), ia adalah versi Windows 64 (WOW64), dan pelayar itu sendiri adalah Firefox 12.
Sekarang mari kita lihat agen pengguna Internet Explorer 9, iaitu:
Mozilla / 5.0 (serasi; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
Peranti ejen pengguna mengenal pasti penyemak imbas sebagai IE 9 dengan enjin rintis Trident 5. Walau bagaimanapun, anda mungkin melihat sesuatu yang mengelirukan - IE mengenal pasti dirinya sebagai Mozilla.
Kami akan kembali kepada itu dalam satu minit. Pertama, mari kita periksa ejen pengguna Google Chrome juga:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, seperti Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Plot itu menebal: Chrome berpura-pura menjadi kedua-dua Mozilla dan Safari. Untuk memahami mengapa, kita perlu memeriksa sejarah ejen pengguna dan penyemak imbas.
Mess String Ejen Pengguna
Mosaic adalah salah satu pelayar pertama. Peranti ejen penggunanya adalah NCSA_Mosaic / 2.0. Kemudian, Mozilla datang (kemudian dinamakan Netscape), dan ejen penggunanya adalah Mozilla / 1.0. Mozilla adalah pelayar yang lebih canggih daripada Mosaic - khususnya, ia menyokong bingkai. Pelayan web diperiksa untuk melihat bahawa ejen pengguna mengandungi perkataan Mozilla dan menghantar halaman yang mengandungi bingkai kepada pelayar Mozilla. Untuk penyemak imbas lain, pelayan web menghantar halaman lama tanpa bingkai.
Akhirnya, Internet Explorer Microsoft datang dan ia juga menyokong bingkai. Walau bagaimanapun, IE tidak menerima halaman web dengan bingkai, kerana pelayan web hanya menghantar mereka ke pelayar Mozilla. Untuk menyelesaikan masalah ini, Microsoft menambah kata Mozilla kepada ejen pengguna mereka dan melontarkan maklumat tambahan (perkataan "serasi" dan rujukan kepada IE.) Pelayan web dengan senang melihat perkataan Mozilla dan menghantar IE laman web moden. Pelayar lain yang datang kemudian melakukan perkara yang sama.
Akhirnya, beberapa pelayan mencari perkataan Gecko - enjin rendering Firefox - dan melayani pelayar Gecko halaman yang berbeza daripada pelayar lama. KHTML - asalnya dibangunkan untuk Konquerer pada desktop KDE Linux - menambah kata-kata "seperti Gecko" supaya mereka mendapatkan halaman moden yang direka untuk Gecko juga. WebKit berdasarkan KHTML - apabila ia dibangunkan, mereka menambah perkataan WebKit dan menyimpan "KHTML, seperti Gecko" asal untuk tujuan keserasian. Dengan cara ini, pemaju penyemak imbas terus menambahkan kata-kata kepada ejen pengguna mereka dari masa ke masa.
Pelayan web tidak benar-benar peduli apa rentetan agen pengguna tepat - mereka hanya semak untuk melihat apakah ia mengandungi perkataan tertentu.
Kegunaan
Pelayan web menggunakan ejen pengguna untuk pelbagai tujuan, termasuk:
- Melayan halaman web yang berbeza untuk penyemak imbas web yang berbeza. Ini boleh digunakan untuk kebaikan - contohnya, untuk melayani laman web yang lebih mudah untuk penyemak imbas lama - atau jahat - sebagai contoh, untuk memaparkan "Halaman web ini mesti dilihat di Internet Explorer" mesej.
- Menampilkan kandungan yang berlainan ke sistem pengendalian yang berbeza - contohnya, dengan memaparkan halaman yang terlalu kecil pada peranti mudah alih.
- Mengumpul statistik yang menunjukkan penyemak imbas dan sistem pengendalian yang digunakan oleh pengguna mereka. Sekiranya anda melihat perangkaan perkongsian pasaran pelayar, ini adalah bagaimana ia diperolehi.
Bot web merangkak menggunakan ejen pengguna juga. Sebagai contoh, crawler web Google mengenal pasti dirinya sebagai:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Pelayan web boleh memberi bots khusus rawatan - sebagai contoh, dengan membenarkan mereka melalui skrin pendaftaran mandatori. (Ya, ini bermakna anda kadang-kadang boleh memintas skrin pendaftaran dengan menetapkan agen pengguna anda ke Googlebot.)
Pelayan web juga boleh memberi arahan kepada bot tertentu (atau semua bot) menggunakan fail robots.txt. Contohnya pelayan web boleh memberitahu bot khusus untuk pergi, atau memberitahu bot lain untuk hanya mengindeks bahagian tertentu laman web. Dalam fail robots.txt, bot dikenal pasti oleh rentetan ejen pengguna mereka.
Semua pelayar utama mengandungi cara untuk menetapkan ejen pengguna tersuai, jadi anda dapat melihat apa pelayan web menghantar ke pelayar yang berbeza. Contohnya, tetapkan penyemak imbas desktop anda kepada rentetan ejen pengguna penyemak imbas mudah alih dan anda akan melihat versi mudah alih halaman web pada desktop anda.