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