एक उपयोगकर्ता एजेंट एक "स्ट्रिंग" है - यानी, पाठ की एक पंक्ति - वेब सर्वर पर ब्राउज़र और ऑपरेटिंग सिस्टम की पहचान करना। यह आसान लगता है, लेकिन उपयोगकर्ता एजेंट समय के साथ गड़बड़ हो गए हैं।
मूल बातें
जब आपका ब्राउज़र किसी वेबसाइट से कनेक्ट होता है, तो इसमें इसके HTTP शीर्षलेख में उपयोगकर्ता-एजेंट फ़ील्ड शामिल होता है। उपयोगकर्ता एजेंट फ़ील्ड की सामग्री ब्राउज़र से ब्राउज़र में भिन्न होती है। प्रत्येक ब्राउज़र का अपना, विशिष्ट उपयोगकर्ता एजेंट होता है। अनिवार्य रूप से, एक उपयोगकर्ता एजेंट ब्राउज़र के लिए एक तरीका है "हाय, मैं विंडोज़ पर मोज़िला फ़ायरफ़ॉक्स हूं" या "हाय, मैं एक आईफोन पर सफारी हूं" वेब सर्वर पर।
वेब सर्वर विभिन्न वेब ब्राउज़र और विभिन्न ऑपरेटिंग सिस्टम के लिए विभिन्न वेब पेजों की सेवा के लिए इस जानकारी का उपयोग कर सकता है। उदाहरण के लिए, एक वेबसाइट मोबाइल ब्राउज़र पर मोबाइल पेज, आधुनिक ब्राउज़र में आधुनिक पृष्ठ, और इंटरनेट एक्सप्लोरर 6 पर "कृपया अपना ब्राउज़र अपग्रेड करें" संदेश भेज सकती है।
उपयोगकर्ता एजेंटों की जांच
उदाहरण के लिए, विंडोज 7 पर फ़ायरफ़ॉक्स का उपयोगकर्ता एजेंट यहां है:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
आइए अब इंटरनेट एक्सप्लोरर 9 के उपयोगकर्ता एजेंट पर एक नज़र डालें, जो है:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
हम एक मिनट में उस पर वापस आ जाएंगे। सबसे पहले, आइए Google क्रोम के उपयोगकर्ता एजेंट की भी जांच करें:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5
उपयोगकर्ता एजेंट स्ट्रिंग मेस
मोज़ेक पहले ब्राउज़र में से एक था। इसका उपयोगकर्ता एजेंट स्ट्रिंग NCSA_Mosaic / 2.0 था। बाद में, मोज़िला साथ आया (बाद में इसका नाम बदल गया नेटस्केप), और इसका उपयोगकर्ता एजेंट मोज़िला / 1.0 था। मोज़िला मोज़ेक की तुलना में एक और अधिक उन्नत ब्राउज़र था - विशेष रूप से, यह फ्रेम समर्थित है। वेब सर्वर यह देखने के लिए चेक किए गए कि उपयोगकर्ता एजेंट में मोज़िला शब्द था और मोज़िला ब्राउज़र में फ्रेम वाले पृष्ठ भेजे गए थे। अन्य ब्राउज़रों के लिए, वेब सर्वर ने बिना पुराने फ्रेम के पुराने पृष्ठ भेजे।
आखिरकार, माइक्रोसॉफ्ट के इंटरनेट एक्सप्लोरर के साथ आया और यह फ्रेम भी समर्थित है। हालांकि, आईई को फ्रेम के साथ वेब पेज प्राप्त नहीं हुए, क्योंकि वेब सर्वर ने उन्हें मोज़िला ब्राउज़र में भेजा था। इस समस्या को ठीक करने के लिए, माइक्रोसॉफ्ट ने मोज़िला शब्द को अपने उपयोगकर्ता एजेंट में जोड़ा और अतिरिक्त जानकारी (शब्द "संगत" और आईई के संदर्भ में फेंक दिया) वेब सर्वर मोज़िला शब्द को देखकर खुश हुए और आईई को आधुनिक वेब पेज भेजे। बाद में आए अन्य ब्राउज़रों ने वही किया।
वेब सर्वर वास्तव में परवाह नहीं करते कि सटीक उपयोगकर्ता एजेंट स्ट्रिंग क्या है - वे सिर्फ यह देखने के लिए जांचें कि इसमें एक विशिष्ट शब्द है या नहीं।
उपयोग
वेब सर्वर विभिन्न प्रयोजनों के लिए उपयोगकर्ता एजेंटों का उपयोग करते हैं, जिनमें निम्न शामिल हैं:
- विभिन्न वेब पृष्ठों को विभिन्न वेब पृष्ठों पर सेवा देना। इसका उपयोग अच्छा के लिए किया जा सकता है - उदाहरण के लिए, पुराने ब्राउज़र पर सरल वेब पेजों को सेवा देने के लिए - या बुरा - उदाहरण के लिए, "यह वेब पेज इंटरनेट एक्सप्लोरर में देखा जाना चाहिए" संदेश प्रदर्शित करना।
- विभिन्न ऑपरेटिंग सिस्टम पर अलग-अलग सामग्री प्रदर्शित करना - उदाहरण के लिए, मोबाइल उपकरणों पर एक स्लिम-डाउन पेज प्रदर्शित करके।
- अपने उपयोगकर्ताओं द्वारा उपयोग में आने वाले ब्राउज़र और ऑपरेटिंग सिस्टम को दिखाते हुए आंकड़े एकत्र करना। यदि आप कभी भी ब्राउज़र बाजार-शेयर आंकड़े देखते हैं, तो इस तरह वे अधिग्रहण किए जाते हैं।
वेब क्रॉलिंग बॉट उपयोगकर्ता एजेंटों का भी उपयोग करते हैं। उदाहरण के लिए, Google का वेब क्रॉलर स्वयं को इस प्रकार पहचानता है:
Googlebot/2.1 (+https://www.google.com/bot.html)
वेब सर्वर बॉट्स विशेष उपचार दे सकते हैं - उदाहरण के लिए, अनिवार्य पंजीकरण स्क्रीन के माध्यम से उन्हें अनुमति देकर। (हां, इसका मतलब यह है कि आप कभी-कभी Googlebot पर अपने उपयोगकर्ता एजेंट को सेट करके पंजीकरण स्क्रीन को बाईपास कर सकते हैं।)
वेब सर्वर robots.txt फ़ाइल का उपयोग कर विशिष्ट बॉट (या सभी बॉट) को ऑर्डर भी दे सकते हैं। उदाहरण के लिए एक वेब सर्वर एक विशिष्ट बॉट को दूर जाने के लिए कह सकता है, या वेबसाइट के कुछ क्षेत्रों को केवल इंडेक्स करने के लिए एक और बॉट बता सकता है। Robots.txt फ़ाइल में, बॉट्स को उनके उपयोगकर्ता एजेंट स्ट्रिंग द्वारा पहचाना जाता है।
सभी प्रमुख ब्राउज़रों में कस्टम उपयोगकर्ता एजेंट सेट करने के तरीके होते हैं, ताकि आप देख सकें कि कौन से वेब सर्वर विभिन्न ब्राउज़रों को भेजते हैं। उदाहरण के लिए, अपने डेस्कटॉप ब्राउज़र को मोबाइल ब्राउज़र के उपयोगकर्ता एजेंट स्ट्रिंग पर सेट करें और आपको अपने डेस्कटॉप पर वेब पृष्ठों के मोबाइल संस्करण दिखाई देंगे।