Το πρόγραμμα περιήγησής σας στέλνει τον πράκτορα χρήστη του σε κάθε ιστότοπο στον οποίο συνδέεστε. Έχουμε γράψει για αλλαγή του πράκτορα χρήστη του προγράμματος περιήγησής σας πριν - αλλά τι ακριβώς είναι ο πράκτορας χρήστη, ούτως ή άλλως;
Ένας πράκτορας χρήστη είναι μια "συμβολοσειρά" - δηλαδή μια γραμμή κειμένου - που προσδιορίζει το πρόγραμμα περιήγησης και το λειτουργικό σύστημα στον διακομιστή ιστού. Αυτό ακούγεται απλό, αλλά οι πράκτορες χρηστών έχουν χάσει την πάροδο του χρόνου.
Τα βασικά
Όταν το πρόγραμμα περιήγησής σας συνδέεται σε έναν ιστότοπο, περιλαμβάνει ένα πεδίο User-Agent στην κεφαλίδα HTTP. Τα περιεχόμενα του πεδίου παράγοντα χρήστη διαφέρουν από πρόγραμμα περιήγησης σε πρόγραμμα περιήγησης. Κάθε πρόγραμμα περιήγησης έχει το δικό του, διακριτικό πράκτορα χρήστη. Ουσιαστικά, ένας πράκτορας χρήστη είναι ένας τρόπος για ένα πρόγραμμα περιήγησης να λέει "Γεια, είμαι ο Mozilla Firefox σε Windows" ή "Γεια, είμαι Safari σε iPhone" σε έναν διακομιστή ιστού.
Ο διακομιστής Ιστού μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να εξυπηρετήσει διαφορετικές ιστοσελίδες σε διαφορετικά προγράμματα περιήγησης και διαφορετικά λειτουργικά συστήματα. Για παράδειγμα, ένας ιστότοπος θα μπορούσε να στείλει σελίδες για κινητά σε προγράμματα περιήγησης για κινητά, σύγχρονες σελίδες σε μοντέρνα προγράμματα περιήγησης και ένα μήνυμα "αναβαθμίστε το πρόγραμμα περιήγησής σας" στον Internet Explorer 6.
Εξέταση πρακτόρων χρηστών
Για παράδειγμα, εδώ είναι ο πράκτορας χρήστη του Firefox στα Windows 7:
Μοζίλλα/5.0 (Ωινδοως ΝΤ 6.1; ΩΩΩ64; ρβ:12.0) Γέκκο/20100101 Firefox/12.0
Αυτός ο πράκτορας χρήστη λέει στον διακομιστή ιστού αρκετά: Το λειτουργικό σύστημα είναι τα Windows 7 (κωδικός ονόματος Windows NT 6.1), είναι μια έκδοση 64-bit των Windows (WOW64) και το ίδιο το πρόγραμμα περιήγησης είναι το Firefox 12.
Ας ρίξουμε μια ματιά στον πράκτορα χρήστη του Internet Explorer 9, ο οποίος είναι:
Μοζίλλα/5.0 (κομπάτιπλη; ΜΣΙΕ 9.0; Ωινδοως ΝΤ 6.1; ΩΩΩ64; Τριτεντ/5.0)
Η συμβολοσειρά παράγοντα χρήστη προσδιορίζει το πρόγραμμα περιήγησης ως IE 9 με τη μηχανή απόδοσης Trident 5. Ωστόσο, μπορεί να εντοπίσετε κάτι που προκαλεί σύγχυση - ο IE αναγνωρίζεται ως Mozilla.
Θα επιστρέψουμε σε αυτό σε ένα λεπτό. Αρχικά, ας εξετάσουμε και τον πράκτορα χρήστη του Google Chrome:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, όπως το Gecko) Chrome / 19.0.1084.52 Safari / 536.5
Η πλοκή πυκνώνει: Το Chrome προσποιείται ότι είναι και το Mozilla και το Safari. Για να καταλάβουμε γιατί, θα πρέπει να εξετάσουμε το ιστορικό των πρακτόρων χρηστών και των προγραμμάτων περιήγησης.
Το User Agent String Mess
Το μωσαϊκό ήταν ένα από τα πρώτα προγράμματα περιήγησης. Η συμβολοσειρά παράγοντα χρήστη ήταν NCSA_Mosaic / 2.0. Αργότερα, το Mozilla ήρθε (αργότερα μετονομάστηκε Netscape) και ο πράκτορας χρηστών του ήταν Mozilla / 1.0. Το Mozilla ήταν ένα πιο εξελιγμένο πρόγραμμα περιήγησης από το Μωσαϊκό - ειδικότερα, υποστηρίζει πλαίσια. Οι διακομιστές Web έλεγξαν ότι ο πράκτορας χρήστη περιείχε τη λέξη Mozilla και έστειλε σελίδες που περιείχαν πλαίσια σε προγράμματα περιήγησης Mozilla. Σε άλλα προγράμματα περιήγησης, οι διακομιστές ιστού έστειλαν τις παλιές σελίδες χωρίς πλαίσια.
Τελικά, ο Internet Explorer της Microsoft ήρθε και υποστήριξε επίσης καρέ. Ωστόσο, το IE δεν έλαβε ιστοσελίδες με πλαίσια, επειδή οι διακομιστές ιστού έστειλαν αυτές μόνο στα προγράμματα περιήγησης Mozilla. Για να επιλύσει αυτό το πρόβλημα, η Microsoft πρόσθεσε τη λέξη Mozilla στον πράκτορα χρηστών τους και έριξε πρόσθετες πληροφορίες (η λέξη "συμβατή" και αναφορά σε IE.) Οι διακομιστές Web ήταν ευτυχείς να δουν τη λέξη Mozilla και έστειλαν IE τις σύγχρονες ιστοσελίδες. Άλλα προγράμματα περιήγησης που ήρθαν αργότερα έκαναν το ίδιο πράγμα.
Τελικά, ορισμένοι διακομιστές αναζήτησαν τη λέξη Gecko - μηχανή απόδοσης του Firefox - και εξυπηρέτησαν προγράμματα περιήγησης Gecko διαφορετικές σελίδες από τα παλαιότερα προγράμματα περιήγησης. Το KHTML - που αναπτύχθηκε αρχικά για τον Konquerer στην επιφάνεια εργασίας KDE του Linux - πρόσθεσε τις λέξεις "όπως το Gecko", ώστε να έχουν και τις μοντέρνες σελίδες σχεδιασμένες για το Gecko. Το WebKit βασίστηκε στο KHTML - όταν αναπτύχθηκε, πρόσθεσαν τη λέξη WebKit και κράτησαν την αρχική γραμμή "KHTML, όπως το Gecko" για λόγους συμβατότητας. Με αυτόν τον τρόπο, οι προγραμματιστές του προγράμματος περιήγησης συνέχισαν να προσθέτουν λέξεις στους πράκτορες χρηστών τους με την πάροδο του χρόνου.
Οι διακομιστές ιστού δεν ενδιαφέρονται πραγματικά για το τι είναι η ακριβής συμβολοσειρά παράγοντα χρήστη - απλώς ελέγχουν για να δουν αν περιέχει μια συγκεκριμένη λέξη.
Χρήσεις
Οι διακομιστές Ιστού χρησιμοποιούν πράκτορες χρηστών για διάφορους σκοπούς, όπως:
- Εξυπηρέτηση διαφορετικών ιστοσελίδων σε διαφορετικά προγράμματα περιήγησης. Αυτό μπορεί να χρησιμοποιηθεί για καλό - για παράδειγμα, για να εξυπηρετεί απλούστερες ιστοσελίδες σε παλαιότερα προγράμματα περιήγησης - ή κακό - για παράδειγμα, για να εμφανιστεί το μήνυμα "Αυτή η ιστοσελίδα πρέπει να προβληθεί στον Internet Explorer".
- Εμφάνιση διαφορετικού περιεχομένου σε διαφορετικά λειτουργικά συστήματα - για παράδειγμα, προβάλλοντας μια αδύνατη σελίδα σε κινητές συσκευές
- Συγκέντρωση στατιστικών στοιχείων που δείχνουν τα προγράμματα περιήγησης και τα λειτουργικά συστήματα που χρησιμοποιούνται από τους χρήστες τους. Εάν δείτε ποτέ στατιστικά στοιχεία για το μερίδιο αγοράς του προγράμματος περιήγησης, έτσι αποκτήθηκαν.
Τα bot ανίχνευσης ιστού χρησιμοποιούν επίσης πράκτορες χρηστών. Για παράδειγμα, το πρόγραμμα ανίχνευσης ιστού της Google αναγνωρίζεται ως:
Googlebot / 2.1 (+ http: //www.google.com/bot.html)
Οι διακομιστές διαδικτύου μπορούν να παρέχουν στα bots ειδική μεταχείριση - για παράδειγμα, επιτρέποντάς τους μέσω υποχρεωτικών οθονών εγγραφής. (Ναι, αυτό σημαίνει ότι μερικές φορές μπορείτε να παρακάμψετε τις οθόνες εγγραφής ορίζοντας τον πράκτορα χρήστη σας στο Googlebot.)
Οι διακομιστές Web μπορούν επίσης να δώσουν παραγγελίες σε συγκεκριμένα bots (ή σε όλα τα bots) χρησιμοποιώντας το αρχείο robots.txt. Για παράδειγμα, ένας διακομιστής ιστού θα μπορούσε να πει σε ένα συγκεκριμένο bot να απομακρυνθεί ή να πει σε ένα άλλο bot να ευρετηριάσει μόνο ορισμένες περιοχές του ιστότοπου. Στο αρχείο robots.txt, τα bots αναγνωρίζονται από τις συμβολοσειρές πράκτορα χρήστη.
Όλα τα μεγάλα προγράμματα περιήγησης περιέχουν τρόπους ορίστε προσαρμοσμένους πράκτορες χρηστών , ώστε να μπορείτε να δείτε σε ποιοι διακομιστές ιστού στέλνουν σε διαφορετικά προγράμματα περιήγησης. Για παράδειγμα, ορίστε το πρόγραμμα περιήγησης επιτραπέζιου υπολογιστή σας σε μια συμβολοσειρά παράγοντα χρήστη ενός προγράμματος περιήγησης για κινητά και θα δείτε τις εκδόσεις των ιστοσελίδων για κινητά στον υπολογιστή σας.