यूजर एजेंट

From Vigyanwiki

कम्प्यूटिंग में, उपयोगकर्ता एजेंट कोई भी सॉफ्टवेयर है, जो उपयोगकर्ता (कंप्यूटिंग) की ओर से कार्य करता है, जो वेब सामग्री के साथ अंतिम उपयोगकर्ता सहभागिता को पुनः प्राप्त करता है, प्रस्तुत करता है और सुविधा प्रदान करता है।[1] उपयोगकर्ता एजेंट इसलिए विशेष प्रकार का सॉफ्टवेयर एजेंट है।

उपयोगकर्ता एजेंटों के कुछ प्रमुख उदाहरण वेब ब्राउज़र्स और ईमेल ग्राहक हैं। अधिकांशतः ग्राहक परिसेवक प्रणाली में उपयोगकर्ता एजेंट ग्राहक (कंप्यूटिंग) के रूप में कार्य करता है। कुछ संदर्भों में, जैसे सत्र आरंभ प्रोटोकॉल (एसआईपी) के भीतर, शब्द उपयोगकर्ता एजेंट संचार सत्र के दोनों अंतिम बिंदुओं को संदर्भित करता है।

उपयोगकर्ता एजेंट पहचान

जब सॉफ्टवेयर एजेंट नेटवर्क प्रोटोकॉल में कार्य करता है, तो यह अधिकांशतः अपने ऑपरेटिंग सहकर्मी को विशेष पहचान स्ट्रिंग (कंप्यूटर विज्ञान) प्रस्तुत करके स्वयं को, इसके एप्लिकेशन प्रकार, ऑपरेटिंग सिस्टम, यंत्र मॉडल, सॉफ़्टवेयर विक्रेता या सॉफ़्टवेयर संशोधन की पहचान करता है। HTTP में,[2] घूंट[3] और एनएनटीपी[4] प्रोटोकॉल, यह पहचान शीर्षलेख फ़ील्ड उपयोगकर्ता-एजेंट में प्रेषित की जाती है। वेब क्रॉलर जैसे इंटरनेट बॉट में अधिकांशतः यूनिफ़ॉर्म रिसोर्स लोकेटर और मेल पता भी सम्मलित होता है जिससे कि वेबमास्टर बॉट के ऑपरेटर से संपर्क कर सके।

HTTP में प्रयोग करें

HTTP में,[2]उपयोगकर्ता-एजेंट स्ट्रिंग का उपयोग अधिकांशतः सामग्री बातचीत के लिए किया जाता है, जहां मूल सर्वर प्रतिक्रिया के लिए उपयुक्त सामग्री या ऑपरेटिंग पैरामीटर का चयन करता है। उदाहरण के लिए, ग्राहक सॉफ़्टवेयर के किसी विशेष संस्करण की ज्ञात क्षमताओं के आधार पर प्रकार चुनने के लिए वेब सर्वर द्वारा उपयोगकर्ता-एजेंट स्ट्रिंग का उपयोग किया जा सकता है। विशेष उपयोगकर्ता एजेंट सीमाओं से बचने के लिए प्रतिक्रियाओं को अनुकूलित करने के लिए सामग्री सिलाई की अवधारणा को RFC 1945 में HTTP मानक में बनाया गया है।

उपयोगकर्ता-एजेंट स्ट्रिंग उन मानदंडों में से है जिसके द्वारा वेब क्रॉलर को रोबोट बहिष्करण मानक (robots.txt फ़ाइल) का उपयोग करके वेबसाइट के कुछ भागों तक पहुँचने से बाहर रखा जा सकता है।

कई अन्य HTTP अनुरोध शीर्षलेखों के साथ, उपयोगकर्ता-एजेंट स्ट्रिंग में जानकारी ग्राहक द्वारा सर्वर को भेजी जाने वाली जानकारी में योगदान करती है, क्योंकि स्ट्रिंग उपयोगकर्ता से उपयोगकर्ता में अधिक भिन्न हो सकती है।[5]

मानव द्वारा संचालित वेब ब्राउज़रों के लिए प्रारूप

उपयोगकर्ता-एजेंट स्ट्रिंग प्रारूप वर्तमान में HTTP सिमेंटिक्स की धारा 10.1.5 द्वारा निर्दिष्ट किया गया है। HTTP में उपयोगकर्ता-एजेंट स्ट्रिंग का प्रारूप वैकल्पिक टिप्पणियों के साथ उत्पाद टोकन (कीवर्ड) की सूची है। उदाहरण के लिए, यदि किसी उपयोगकर्ता के उत्पाद को विकीब्राउज़र कहा जाता है, तो उनका उपयोगकर्ता एजेंट स्ट्रिंग विकीब्राउज़र/1.0 गेको/1.0 हो सकता है। सबसे महत्वपूर्ण उत्पाद घटक पहले सूचीबद्ध है।

इस तार के भाग इस प्रकार हैं:

  • उत्पाद का नाम और संस्करण (विकीब्राउज़र /1.0)
  • लेआउट इंजन और संस्करण (गेको/1.0)

पहले ब्राउज़र युद्ध के पर्यंत, कई वेब सर्वरों को उन वेब पेजों को भेजने के लिए कॉन्फ़िगर किया गया था, जिनके लिए फ़्रेमिंग (वर्ल्ड वाइड वेब) सहित उन्नत सुविधाओं की आवश्यकता होती है, जिन्हें केवल मोज़िला के कुछ संस्करण के रूप में पहचाना गया था।[6] अन्य ब्राउज़रों को मोज़ेक (वेब ​​​​ब्राउज़र), सेलो (वेब ​​ब्राउज़र), या सांबा (वेब ​​ब्राउज़र) जैसे पुराने उत्पाद माना जाता था और उन्हें साधारण HTML दस्तावेज़ भेजा जाएगा।

इस कारण से, अधिकांश वेब ब्राउज़र उपयोगकर्ता-एजेंट स्ट्रिंग मान का उपयोग निम्नानुसार करते हैं।

मोज़िला/[संस्करण] ([सिस्टम और ब्राउज़र जानकारी]) [प्लेटफ़ॉर्म] ([प्लेटफ़ॉर्म विवरण]) [एक्सटेंशन]

उदाहरण के लिए, आईपैड पर सफारी ने निम्नलिखित का उपयोग किया है।

Mozilla/5.0 (iPad; U; CPU OS 3_2_1 जैसे Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, जैसे Gecko) Mobile/7B405

इस स्ट्रिंग के घटक इस प्रकार हैं:

  • मोज़िला /5.0: पहले इसका उपयोग मोज़िला प्रतिपादन इंजन के साथ अनुकूलता दर्शाने के लिए किया जाता था।
  • (iPad; U; CPU OS 3_2_1 जैसे Mac OS X; en-us): उस प्रणाली का विवरण जिसमें ब्राउज़र चल रहा है।
  • AppleWebKit/531.21.10: ब्राउज़र द्वारा उपयोग किया जाने वाला प्लेटफ़ॉर्म।
  • (KHTML, गेको की तरह): ब्राउज़र प्लेटफ़ॉर्म विवरण।
  • मोबाइल/7B405: इसका उपयोग ब्राउजर द्वारा विशिष्ट संवर्द्धन को इंगित करने के लिए किया जाता है जो सीधे ब्राउजर में या तीसरे पक्ष के माध्यम से उपलब्ध हैं। इसका उदाहरण माइक्रोसॉफ्ट लाइव मीटिंग है जो प्रसार को पंजीकृत करता है जिससे कि लाइव मीटिंग सेवा को पता चल सके कि सॉफ़्टवेयर पहले से स्थापित है, जिसका अर्थ है कि यह मीटिंग में सम्मलित होने के लिए सुव्यवस्थित अनुभव प्रदान कर सकता है।

क्रोमियम (वेब ​​​​ब्राउज़र) कोड बेस में माइग्रेट करने से पहले, ओपेरा (वेब ​​ब्राउज़र) सबसे व्यापक रूप से उपयोग किया जाने वाला वेब ब्राउज़र था जिसमें मोज़िला के साथ उपयोगकर्ता-एजेंट स्ट्रिंग नहीं थी (इसके अतिरिक्त इसे ओपेरा से प्रारंभ किया गया था)। 15 जुलाई 2013 से,[7] ओपेरा का उपयोगकर्ता-एजेंट स्ट्रिंग मोज़िला/5.0 से प्रारंभ होता है और, लीगेसी सर्वर नियमों का सामना करने से बचने के लिए, अब ओपेरा शब्द सम्मलित नहीं है (इसके अतिरिक्त ओपेरा संस्करण को दर्शाने के लिए स्ट्रिंग ओपीआर का उपयोग करना)।

स्वचालित एजेंटों (बॉट्स) के लिए प्रारूप

स्वचालित वेब क्रॉलिंग उपकरण सरलीकृत रूप का उपयोग कर सकते हैं, जहां समस्याओं के अवस्था में महत्वपूर्ण क्षेत्र संपर्क जानकारी है। परिपाटी के अनुसार बॉट शब्द एजेंट के नाम में सम्मलित है। उदाहरण के लिए:

Googlebot/2.1 (+http://www.google.com/bot.html)

स्वचालित एजेंटों से अपेक्षा की जाती है कि वे robots.txt नामक विशेष फ़ाइल में नियमों का पालन करें।

उपयोगकर्ता एजेंट स्पूफिंग

विभिन्न वेब ब्राउज़र उत्पादों की लोकप्रियता पूरे वेब के इतिहास में भिन्न रही है और इसने वेबसाइटों के डिज़ाइन को इस तरह से प्रभावित किया है कि वेबसाइटों को कभी-कभी वर्ल्ड वाइड वेब द्वारा समान मानकों के अनुसार केवल विशेष ब्राउज़रों के साथ अच्छी तरह से कार्य करने के लिए डिज़ाइन किया जाता है। कंसोर्टियम (W3C) या इन्टरनेट अभियांत्रिकी कार्य दल (IETF)। वेबसाइटों में अधिकांशतः प्राप्त उपयोगकर्ता एजेंट स्ट्रिंग के अनुसार भेजे गए पृष्ठ डिज़ाइन को समायोजित करने के लिए ब्राउज़र संस्करण का पता लगाने के लिए कोड सम्मलित होता है। इसका मतलब यह हो सकता है कि कम लोकप्रिय ब्राउज़रों को जटिल सामग्री नहीं भेजी जाती है (यदि वे इससे सही ढंग से निपटने में सक्षम हों) या, चरम स्थितियों में, सभी सामग्री को अस्वीकार कर दिया।[8] इस प्रकार, विभिन्न ब्राउज़रों में कुछ सर्वर-साइड सामग्री को बाध्य करने के लिए उनकी पहचान छिपाने या खराब करने की सुविधा होती है। उदाहरण के लिए, अनुकूलता में सहायता के लिए एंड्रॉइड ब्राउज़र स्वयं को सफारी (वेब ​​​​ब्राउज़र) (अन्य बातों के अतिरिक्त) के रूप में पहचानता है।[9][10] अन्य HTTP ग्राहक प्रोग्राम, जैसे डाउनलोड प्रबंधक और ऑफ़लाइन ब्राउज़र, अधिकांशतः उपयोगकर्ता एजेंट स्ट्रिंग को बदलने की क्षमता रखते हैं।

उपयोगकर्ता एजेंट स्पूफिंग का परिणाम यह हो सकता है कि वेब ब्राउज़र का एकत्रित उपयोग हिस्सा गलत है।

सूँघने वाला उपयोगकर्ता एजेंट

उपयोगकर्ता एजेंट स्नीफिंग कुछ उपयोगकर्ता एजेंटों के साथ देखे जाने पर अलग या समायोजित सामग्री दिखाने वाली वेबसाइटों का अभ्यास है। इसका उदाहरण माइक्रोसॉफ्ट विनिमय सर्वर 2003 का आउटलुक वेब एक्सेस फीचर है। जब इंटरनेट अंवेषक 6 या नए के साथ देखा जाता है, तो किसी अन्य ब्राउज़र में समान पृष्ठ की तुलना में अधिक कार्यक्षमता प्रदर्शित होती है। उपयोगकर्ता एजेंट स्नीफिंग को खराब अभ्यास माना जाता है, क्योंकि यह ब्राउज़र-विशिष्ट डिज़ाइन को प्रोत्साहित करता है और अपरिचित उपयोगकर्ता एजेंट पहचान वाले नए ब्राउज़रों को दंडित करता है। इसके अतिरिक्त, W3C मानक HTML मार्कअप बनाने की अनुशंसा करता है,[11] अधिक से अधिक ब्राउज़रों में सही प्रतिपादन की अनुमति देना और विशेष ब्राउज़र संस्करणों या ब्रांडों के अतिरिक्त विशिष्ट ब्राउज़र सुविधाओं का परीक्षण करना।[12]मोबाइल फोन द्वारा प्रदर्शित की जाने वाली वेबसाइटें अधिकांशतः उपयोगकर्ता एजेंट सूँघने पर निर्भर करती हैं, क्योंकि मोबाइल ब्राउज़र अधिकांशतः दूसरे से बहुत भिन्न होते हैं।

कूटलेखन शक्ति अंकन

संयुक्त राज्य अमेरिका में बनाए गए वेब ब्राउज़र, जैसे नेटस्केप नेविगेटर और इंटरनेट एक्सप्लोरर, पहले U, I, और N अक्षरों का उपयोग उपयोगकर्ता एजेंट स्ट्रिंग में एन्क्रिप्शन शक्ति निर्दिष्ट करने के लिए करते थे। 1996 तक, जब संयुक्त राज्य सरकार ने 40 बिट्स से अधिक की कुंजियों के साथ एन्क्रिप्शन को निर्यात करने की अनुमति दी, तो विक्रेताओं ने विभिन्न एन्क्रिप्शन शक्तियों के साथ विभिन्न ब्राउज़र संस्करणों को भेज दिया। "U", "यूएसए" के लिए खड़ा है (128-बिट एन्क्रिप्शन वाले संस्करण के लिए), मैं अंतरराष्ट्रीय के लिए खड़ा हूं – ब्राउज़र में 40-बिट एन्क्रिप्शन है और इसे दुनिया में कहीं भी उपयोग किया जा सकता है – और N खड़ा है (वास्तविक) किसी के लिए नहीं (कोई एन्क्रिप्शन नहीं)।[13] संयुक्त राज्य अमेरिका #पीसी युग में क्रिप्टोग्राफी के निर्यात को हटाने के बाद, अधिकांश विक्रेताओं ने 256-बिट एन्क्रिप्शन का समर्थन किया।

उपयोगकर्ता-एजेंट शीर्षलेख का बहिष्करण

2020 में, गूगल ने घोषणा की कि वे अपने क्रोम गूगल ब्राउज़र में उपयोगकर्ता-एजेंट हेडर के लिए समर्थन समाप्त कर देंगे। उन्होंने कहा कि अन्य प्रमुख वेब ब्राउज़र विक्रेता इस कदम के समर्थक थे, किन्तु उन्हें नहीं पता था कि अन्य विक्रेता कब इसका पालन करेंगे।[14] Google ने कहा कि ग्राहक संकेत नामक नई सुविधा उपयोगकर्ता-एजेंट स्ट्रिंग की कार्यक्षमता को बदल देगी।[15]

ब्राउज़र गलत पहचान

फरवरी 2023 में जारी फ़ायरफ़ॉक्स 110 से प्रारंभ करते हुए,[16] मोज़िला कॉर्पोरेशन को ब्राउज़र के उपयोगकर्ता-एजेंट के 109 संस्करण पर अस्थायी रूप से फ्रीज करना पड़ा है। ऐसा इसलिए किया गया क्योंकि कई वेबसाइटें ब्राउज़र के विकास संस्करण को गलत विधियों से पहचानती हैं (जो स्ट्रिंग द्वारा स्वयं की पहचान करती है)। Mozilla/5.0 (Windows NT 10.0; Win64; rv:110.0) Gecko/20100101 फ़ायरफ़ॉक्स /110.0)[17] बहिष्करण इंटरनेट एक्सप्लोरर 11 के रूप में (जो रिपोर्ट करता है Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko).[18] फ़ायरफ़ॉक्स 120 के रिलीज़ होने के बाद समस्या स्वतः ठीक हो जाएगी, क्योंकि केवल 110 से 119 संस्करण ही इससे प्रभावित होते हैं।[19]

यह भी देखें

संदर्भ

  1. "W3C Definition of User Agent". www.w3.org. 2011-06-16. Retrieved 2018-10-20.
  2. 2.0 2.1 "RFC-9110: HTTP Semantics". IETF. Retrieved 28 July 2022.
  3. RFC 3261, SIP: Session Initiation Protocol, IETF, The Internet Society (2002)
  4. Netnews लेख प्रारूप. IETF. November 2009. sec. 3.2.13. doi:10.17487/RFC5536. RFC 5536.
  5. Eckersley, Peter (27 January 2010). "Browser Versions Carry 10.5 Bits of Identifying Information on Average". Electronic Frontier Foundation. Retrieved 25 August 2011.
  6. History of the browser user-agent string. WebAIM.
  7. "Opera User Agent Strings: Opera 15 and Beyond". dev.opera.com. 15 July 2013. Retrieved 2014-05-05.
  8. Burstein complaining "... I've been rejected until I come back with Netscape"
  9. "Android ब्राउज़र स्वयं को Apple Safari के रूप में रिपोर्ट करता है". Archived from the original on August 6, 2011. Retrieved August 9, 2011.
  10. "User Agent String explained: Android Webkit Browser". UserAgentString.com. Archived from the original on 4 May 2012. Retrieved 29 July 2012. Mozilla/5.0 (Linux; U; Android 2.2; en-sa; HTC_DesireHD_A9191 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
  11. Pemberton, Stephen. "W3C Markup Validation Service". W3C. Retrieved 2011-10-18.
  12. Clary, Bob (10 February 2003). "ब्राउजर डिटेक्शन और क्रॉस ब्राउजर सपोर्ट". Mozilla Developer Center. Mozilla. Archived from the original on 2011-11-17. Retrieved 2009-05-30.
  13. Zawinski, Jamie (28 March 1998). "user-agent strings (obsolete)". mozilla.org. Retrieved 2010-01-08.
  14. "उपयोगकर्ता एजेंट के लिए Chrome चरणबद्ध समर्थन समाप्त कर रहा है". InfoQ. Retrieved 2020-03-25.
  15. Cimpanu, Catalin. "Google क्रोम में उपयोगकर्ता-एजेंट स्ट्रिंग्स को समाप्त करेगा". ZDNet (in English). Retrieved 2020-03-25.
  16. "फ़ायरफ़ॉक्स रिलीज नोट्स". mozilla.org. Retrieved 8 April 2023.
  17. "www.bestbuy.com - Firefox एक असमर्थित ब्राउज़र है". github.com. Retrieved 8 April 2023.
  18. Schubert, Dennis. "Freeze `rv:` segment in the User Agent string to `rv:109.0` to avoid erroneous IE11 detection". bugzilla.mozilla.org. Retrieved 8 April 2023.
  19. Peterson, Chris. "Remove the frozen `rv:109.0` IE11 UA workaround after Firefox reaches version 120 (desktop and Android)". bugzilla.mozilla.org. Retrieved 8 April 2023.