यूज़र एजेंट (User-Agent स्ट्रिंग)
ब्राउज़र और OS की पहचान ब्राउज़र उपयोगकर्ता-एजेंट हेडर में भेजता है और जावास्क्रिप्ट को उजागर करता है।
परिभाषा
HTTP में, उपयोगकर्ता एजेंट अनुरोध करने वाला क्लाइंट सॉफ़्टवेयर है, और उपयोगकर्ता-एजेंट अनुरोध हेडर वह टेक्स्ट स्ट्रिंग है जिसे वह भेजता है ताकि सर्वर एप्लिकेशन, ऑपरेटिंग सिस्टम, विक्रेता और संस्करण की पहचान कर सकें। एमडीएन नोट करता है कि इस जानकारी ने ऐतिहासिक रूप से गोपनीयता संबंधी चिंताओं को बढ़ा दिया है क्योंकि इसका उपयोग फ़िंगरप्रिंटिंग के लिए किया जा सकता है। आधुनिक Chromium ब्राउज़र एक कम स्ट्रिंग भेजते हैं और विस्तृत मानों को उपयोगकर्ता-एजेंट क्लाइंट संकेत (Sec-CH-UA-* हेडर और नेविगेटर.userAgentData) में ले जाते हैं।
यह कैसे काम करता है
- ब्राउज़र प्रत्येक अनुरोध के साथ उपयोगकर्ता-एजेंट भेजता है; एक सामान्य Chrome डेस्कटॉप मान "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, गेको की तरह) जैसा दिखता है Chrome/143.0.0.0 Safari/537.36"। "मोज़िला/5.0", "KHTML, गेको की तरह" और "सफ़ारी" टोकन ऐतिहासिक अनुकूलता के लिए रखे गए हैं।
- उपयोगकर्ता-एजेंट कटौती (Chrome 101 से 110 तक रोल आउट) के बाद से, Chrome छोटे संस्करण को 0.0.0 पर फ़्रीज़ कर देता है, निश्चित डेस्कटॉप प्लेटफ़ॉर्म स्ट्रिंग्स का उपयोग करता है, और Android पर वास्तविक OS संस्करण के बजाय एक निश्चित "Android 10; K" भेजता है। और डिवाइस मॉडल. वही कम किया गया मान navigator.userAgent और navigator.platform में दिखाई देता है।
- Chromium ब्राउज़र डिफ़ॉल्ट रूप से कम-एन्ट्रॉपी क्लाइंट संकेत भी भेजते हैं - Sec-CH-UA (ब्रांड और प्रमुख संस्करण), Sec-CH-UA-मोबाइल और Sec-CH-UA-प्लेटफ़ॉर्म। एक सर्वर एक्सेप्ट-सीएच प्रतिक्रिया हेडर के साथ प्लेटफ़ॉर्म संस्करण, मॉडल, आर्किटेक्चर या पूर्ण संस्करण सूची जैसे उच्च-एन्ट्रॉपी संकेत मांग सकता है, और ब्राउज़र तय करता है कि क्या लौटाना है।
यह क्यों मायने रखता है?
- उपयोगकर्ता एजेंट ब्राउज़र फ़िंगरप्रिंट में निष्क्रिय संकेतों में से एक है: यह बिना किसी स्क्रिप्ट को चलाए हर अनुरोध पर आता है।
- डिटेक्शन सिस्टम उपयोगकर्ता-एजेंट स्ट्रिंग की तुलना क्लाइंट संकेत और जावास्क्रिप्ट मान (नेविगेटर.प्लेटफ़ॉर्म, स्क्रीन आकार, स्पर्श समर्थन) के साथ कर सकते हैं। एक प्रोफ़ाइल जिसके मूल्य असहमत हैं वह एक से अधिक सामान्य रूप से सामने आती है।
- एंटीडिटेक्ट ब्राउज़र प्रत्येक प्रोफ़ाइल को अपना उपयोगकर्ता एजेंट सेट करने देते हैं; अच्छे उपकरण मेल खाने वाले क्लाइंट संकेत, प्लेटफ़ॉर्म और ब्राउज़र-इंजन संस्करण को उसके अनुरूप रखते हैं।
सीमाएँ और सामान्य ग़लतफ़हमियाँ
- "उपयोगकर्ता-एजेंट स्ट्रिंग बदलने से मेरा ब्राउज़र फ़िंगरप्रिंट बदल जाता है।" यह एक मान बदलता है; क्लाइंट संकेत, जावास्क्रिप्ट APIs, कैनवस/वेबजीएल आउटपुट और फ़ॉन्ट अभी भी वास्तविक सेटअप का वर्णन करते हैं जब तक कि उन्हें लगातार नहीं बदला जाता है।
- "उपयोगकर्ता-एजेंट स्ट्रिंग मेरा सटीक ओएस और डिवाइस दिखाती है।" कम क्रोम में यह अब नहीं होता है - Windows 8.1 और Windows 11 दोनों रिपोर्ट करते हैं "Windows NT 10.0", और Android डिवाइस रिपोर्ट करते हैं "Android 10;
- "एक दुर्लभ या बहुत नया यूजर एजेंट सुरक्षित होता है।" असामान्य या बेमेल मान आपको सीमित कर देते हैं; एक सामान्य, आंतरिक रूप से सुसंगत संयोजन कम विशिष्ट होता है।
कोई भी ब्राउज़र या प्रॉक्सी यह गारंटी नहीं दे सकता कि खातों को प्रतिबंधित नहीं किया जाएगा। प्रत्येक प्लेटफॉर्म के नियमों का पालन करें।
संबंधित शब्द
- ब्राउज़र फ़िंगरप्रिंट — ब्राउज़र और डिवाइस विशेषताओं का एक संयोजन जो कुकीज़ के बिना ब्राउज़र की पहचान कर सकता है।
- कैनवस फिंगरप्रिंटिंग — एक HTML कैनवस ड्राइंग को रेंडर करने के तरीके में सूक्ष्म अंतर से किसी डिवाइस की पहचान करना।
- ब्राउज़र प्रोफाइल — ब्राउज़र डेटा का एक अलग सेट — कुकीज़, इतिहास, सेटिंग्स, एक्सटेंशन — जिसे अन्य प्रोफाइल से अलग रखा जाता है।
सूत्र
- MDN: User-Agent हेडर (ब्राउज़र दस्तावेज़)
- MDN: HTTP क्लाइंट संकेत (ब्राउज़र दस्तावेज़)
- Chromium: User-Agent रिडक्शन (ब्राउज़र दस्तावेज़)
- Chrome for Developers: User-Agent क्लाइंट संकेत (ब्राउज़र दस्तावेज़)
2026-11-07 की जाँच की गई।