यूजर एजेंट

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

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

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

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

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

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

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

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

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


 * उत्पाद का नाम और संस्करण (WikiBrowser/1.0)
 * लेआउट इंजन और संस्करण (छिपकली/1.0)

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

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

उदाहरण के लिए, iPad पर Safari ने निम्नलिखित का उपयोग किया है:

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

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


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

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

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

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

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

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

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

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

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

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

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

ब्राउज़र गलत पहचान
फरवरी 2023 में जारी Firefox 110 से शुरू करते हुए, Mozilla Corporation को ब्राउज़र के उपयोगकर्ता-एजेंट के 109 संस्करण पर अस्थायी रूप से फ्रीज करना पड़ा है। ऐसा इसलिए किया गया क्योंकि कई वेबसाइटें ब्राउज़र के विकास संस्करण को गलत तरीके से पहचानती हैं (जो स्ट्रिंग द्वारा स्वयं की पहचान करती है)। ) बहिष्करण इंटरनेट एक्सप्लोरर 11 के रूप में (जो रिपोर्ट करता है  ). फ़ायरफ़ॉक्स 120 के रिलीज़ होने के बाद समस्या स्वतः ठीक हो जाएगी, क्योंकि केवल 110 से 119 संस्करण ही इससे प्रभावित होते हैं।

यह भी देखें

 * रोबोट बहिष्करण मानक
 * वेब क्रॉलर
 * WURFL | वायरलेस यूनिवर्सल रिसोर्स फ़ाइल (WURFL)
 * UAProf | उपयोगकर्ता एजेंट प्रोफ़ाइल (UAProf)
 * ब्राउज़र सूँघना
 * वेब ब्राउज़र इंजन