User-Agent (संक्षेप में UA) HTTP अनुरोध हेडर में एक फ़ील्ड है, जिसे ब्राउज़र (या क्रॉलर, अन्य HTTP क्लाइंट) प्रत्येक अनुरोध भेजते समय इस स्ट्रिंग को साथ ले जाते हैं, सर्वर को यह बताने के लिए कि「मैं कौन हूं」— इसमें ब्राउज़र नाम और संस्करण, ऑपरेटिंग सिस्टम और संस्करण, रेंडरिंग इंजन, डिवाइस प्रकार, CPU आर्किटेक्चर आदि जानकारी होती है। सर्वर UA के आधार पर विभिन्न डिवाइसों के लिए अनुकूलित सामग्री लौटा सकता है, डेवलपर्स भी अक्सर संगतता प्रबंधन, ट्रैफ़िक सांख्यिकी और क्रॉलर पहचान के लिए UA का उपयोग करते हैं।
UA स्ट्रिंग लंबी और अव्यवस्थित दिखने का ऐतिहासिक कारण है: ब्राउज़र युद्ध के समय से ही, नए ब्राउज़र पुराने ब्राउज़र स्निफ़िंग पर आधारित वेबसाइटें सामान्य रूप से काम करें इसके लिए UA में खुद को पुराना ब्राउज़र बताते थे (जैसे Chrome में Safari चिह्न होगा, Safari में Gecko चिह्न होगा), परत दर परत जुड़ने से आधुनिक UA स्ट्रिंग में बड़ी संख्या में ऐतिहासिक विरासत चिह्न हो गए हैं, जिससे सीधे पढ़ना मुश्किल हो जाता है। UA पार्सर की भूमिका इन जटिल स्ट्रिंग्स को अलग करना और वास्तव में उपयोगी जानकारी निकालना है।
प्रमुख ब्राउज़रों के निश्चित फ़ॉर्मैट और कीवर्ड पहचानकर्ता होते हैं: Chrome में Chrome/संस्करण होता है, Firefox में Firefox/संस्करण होता है, Safari में Version/संस्करण और Safari/ चिह्न होता है, नया Edge संस्करण Edg/ चिह्न का उपयोग करता है, WeChat इनबिल्ट ब्राउज़र MicroMessenger/ चिह्न का उपयोग करता है। ऑपरेटिंग सिस्टम के भी संबंधित चिह्न होते हैं: Windows Windows NT+संस्करण का उपयोग करता है, macOS Mac OS X+संस्करण का उपयोग करता है, iOS CPU iPhone OS+संस्करण का उपयोग करता है, Android सीधे Android+संस्करण का उपयोग करता है। इन कीवर्ड के रेगेक्स मिलान के माध्यम से सटीक पहचान की जा सकती है।
रेंडरिंग इंजन ब्राउज़र का मुख्य भाग है जो HTML/CSS/पेज रेंडरिंग को पार्स करता है: Chromium-आधारित ब्राउज़र (Chrome, Edge, Opera आदि) Blink इंजन का उपयोग करते हैं, Safari WebKit का उपयोग करता है, Firefox Gecko का उपयोग करता है, पुराना IE Trident का उपयोग करता है। रेंडरिंग इंजन जानने से CSS/JS संगतता समस्याओं का निर्धारण करने में मदद मिल सकती है — एक ही Blink इंजन के तहत Chrome और Edge का रेंडरिंग प्रदर्शन अत्यधिक सुसंगत होता है।
क्रॉलर डिटेक्शन UA पार्सिंग के महत्वपूर्ण उद्देश्यों में से एक है। सर्च इंजन क्रॉलर (Googlebot, Bingbot, Baiduspider), SEO टूल क्रॉलर, दुर्भावनापूर्ण स्क्रैपिंग प्रोग्राम, कमांड-लाइन टूल (curl, wget), स्क्रिप्ट लाइब्रेरी (Python requests) UA में अपने स्वयं के पहचानकर्ता ले जाएंगे, या बहुत ही सरल UA स्ट्रिंग का उपयोग करेंगे। bot, crawler, spider, curl जैसे कीवर्ड मिलान के माध्यम से गैर-मानव ट्रैफ़िक को तुरंत पहचाना जा सकता है।
डिवाइस प्रकार पहचान मुख्य रूप से मोबाइल चिह्नों पर निर्भर करती है: जिसमें Mobile, iPhone, Android जैसे कीवर्ड हों वह मोबाइल है; जिसमें iPad, Tablet, Kindle हों वह टैबलेट है; शेष डेस्कटॉप कंप्यूटर हैं। लेकिन ध्यान दें कि UA फर्जी किया जा सकता है (User-Agent Spoofing), दुर्भावनापूर्ण क्रॉलर सामान्य ब्राउज़र का रूप ले सकते हैं, इसलिए सख्त एंटी-क्रॉलर के लिए अन्य विशेषताओं को भी संयोजित करना आवश्यक है, UA पार्सिंग केवल प्रारंभिक निर्धारण के रूप में उपयोग की जा सकती है।
CPU आर्किटेक्चर जानकारी आजकल महत्वपूर्ण होती जा रही है: Apple की M सीरीज़ Mac ARM64 आर्किटेक्चर का उपयोग करती है, पारंपरिक Intel Mac x64 का उपयोग करती है; Windows PC में x64 और ARM64 दोनों हैं (जैसे Snapdragon लैपटॉप); मोबाइल सभी ARM64 हैं। सॉफ़्टवेयर डाउनलोड प्रदान करते समय, यदि UA से उपयोगकर्ता के आर्किटेक्चर का निर्धारण करके सीधे संबंधित इंस्टॉलेशन पैकेज दे सकते हैं (जैसे .dmg Intel/Mac संस्करण अलग, .exe x64/ARM64 संस्करण अलग) तो उपयोगकर्ता अनुभव काफी बेहतर हो सकता है।
ध्यान दें कि UA पार्सिंग की सीमाएं हैं: UA उपयोगकर्ता या प्लगइन द्वारा संशोधित और फर्जी किया जा सकता है, नए संस्करण ब्राउज़र UA फ़ॉर्मैट बदल सकते हैं जिससे रेगेक्स काम न करे, Windows 11 NT 10.0 संस्करण संख्या जारी रखता है इसलिए UA से Win10/Win11 का अंतर नहीं किया जा सकता, iOS पर सभी तृतीय-पक्ष ब्राउज़र (Chrome, Firefox for iOS) को WebKit इंजन उपयोग करने के लिए बाध्य किया जाता है इसलिए UA में Safari चिह्न होगा। इस टूल की पार्सिंग डेवलपमेंट डीबगिंग, लॉग विश्लेषण जैसे अधिकांश परिदृश्यों के लिए उपयुक्त है, लेकिन अत्यधिक उच्च सुरक्षा आवश्यकताओं वाले परिदृश्यों के लिए कृपया IP, TLS फ़िंगरप्रिंट और अन्य बहुआयामी निर्धारण संयोजित करें।