Chrome, उपयोगकर्ता की निजता को सुरक्षित रखने के लिए, अपनी उपयोगकर्ता-एजेंट स्ट्रिंग में शेयर की जाने वाली जानकारी को कम कर रहा है.
Chrome 110 (फ़रवरी 2023) से, हम Android वर्शन और डिवाइस मॉडल के लिए तय वैल्यू को धीरे-धीरे लॉन्च कर रहे हैं. किसी मॉडल K
के लिए, डिफ़ॉल्ट वैल्यू हमेशा Android 10
होगी.
अगर वेबसाइट पर आने वाले व्यक्ति के ऑपरेटिंग सिस्टम के वर्शन, Android डिवाइस मॉडल या ब्राउज़र के वर्शन का पता लगाने के लिए, उपयोगकर्ता एजेंट का इस्तेमाल किया जाता है, तो आपको कार्रवाई करनी पड़ सकती है. ज़्यादा जानकारी के लिए आगे पढ़ें.
user-agent एक स्ट्रिंग है, जो उपयोगकर्ता के ब्राउज़र और उसके एनवायरमेंट के बारे में जानकारी देती है. जैसे, आपकी साइट पर आने वाला व्यक्ति Android पर Chrome का वर्शन 110 इस्तेमाल कर रहा है. आपका ब्राउज़र इसे एचटीटीपी हेडर में भेजता है और JavaScript के ज़रिए इसे उपलब्ध कराता है.
उपयोगकर्ता एजेंट की पूरी स्ट्रिंग की समस्या यह है कि यह हर अनुरोध पर डिफ़ॉल्ट रूप से ब्राउज़र के बारे में पूरी जानकारी शेयर करती है. यह क्रॉस-साइट ट्रैकिंग की अनुमति देने में एक अहम भूमिका निभाती है. हमारा मकसद, इस डेटा को अपने-आप इकट्ठा होने से रोकना है. साथ ही, एपीआई उपलब्ध कराना है, ताकि ज़रूरत पड़ने पर डेटा को ऐक्टिव तौर पर ऐक्सेस किया जा सके.
अब तक यूज़र-एजेंट को कम करने की सुविधा
हमने डिफ़ॉल्ट रूप से उपलब्ध कुछ उपयोगकर्ता-एजेंट डेटा को हटाना शुरू कर दिया है और उसे तय वैल्यू से बदल दिया है.
हमने Chrome 101 से, माइनर वर्शन के नंबर को शून्य से बदल दिया है. उदाहरण के लिए, Chrome/101.3.2.1 को Chrome/101.0.0.0 कर दिया गया है.
हमने Chrome 107 से, डेस्कटॉप ऑपरेटिंग सिस्टम के वर्शन और सीपीयू की जानकारी को प्लैटफ़ॉर्म के लिए तय की गई वैल्यू से बदल दिया है.
Mac | ➡ | Macintosh; Intel Mac OS X 10_15_7 |
Windows | ➡ | Windows NT 10.0; Win64; x64 |
ChromeOS | ➡ | X11; CrOS x86_64 14541.0.0 |
Linux | ➡ | X11; Linux x86_64 |
Chrome 110 से, Android वर्शन और डिवाइस मॉडल से जुड़ी समस्या को ठीक किया गया
Chrome 110 से, हम Android वर्शन और डिवाइस मॉडल के लिए तय वैल्यू को धीरे-धीरे लॉन्च कर रहे हैं.
Pixel 7
पर Android 13
जैसा कुछ देखने के बजाय, मॉडल K
पर डिफ़ॉल्ट वैल्यू हमेशा Android 10
होगी.
Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
उपयोगकर्ता एजेंट के फ़ॉर्मैट में कोई बदलाव नहीं हुआ है
यूज़र-एजेंट में कमी करने से, यूज़र-एजेंट में दिखाई गई वैल्यू बदल जाती हैं. हालांकि, फ़ॉर्मैट एक जैसा रहता है. अगर ऑपरेटिंग सिस्टम के टाइप या ब्राउज़र के मेजर वर्शन को पढ़ने के लिए, सिर्फ़ उपयोगकर्ता-एजेंट का इस्तेमाल किया जाता है, तो वह डेटा पहले की तरह अपडेट होता रहेगा. साथ ही, आपको कोई कार्रवाई करने की ज़रूरत नहीं है.

उपयोगकर्ता एजेंट के विकल्प
अगर फ़िलहाल ज़्यादा जानकारी वाले डेटा का इस्तेमाल किया जा रहा है, तो यह देखना हमेशा अच्छा होता है कि प्रगतिशील बेहतर बनाने या सुविधा का पता लगाने की सुविधा का इस्तेमाल किया जा सकता है या नहीं.
हमेशा याद रखें कि user-agent वैल्यू, उपयोगकर्ता की दी गई किसी भी अन्य वैल्यू की तरह ही होती है. आपको इसकी पुष्टि करनी चाहिए और यह नहीं मानना चाहिए कि यह सटीक है. उपयोगकर्ता, एक्सटेंशन, और दूसरे क्लाइंट, user-agent की वैल्यू को आसानी से बदल सकते हैं. इसके अलावा, हो सकता है कि वे वैल्यू को भेजना ही न चाहें. ज़्यादातर मामलों में, उपयोगकर्ता-एजेंट के डेटा के बिना, वेबसाइट पर आने वाले लोगों को काम करने वाला कॉन्टेंट डिलीवर किया जा सकता है.
यूज़र-एजेंट क्लाइंट हिंट की मदद से, ज़्यादा जानकारी वाले डेटा का अनुरोध करना
उपयोगकर्ता-एजेंट के ज़्यादा जानकारी वाले डेटा को ऐक्सेस करने की कई मान्य वजहें हैं. जैसे, डिवाइस के हिसाब से कॉन्टेंट उपलब्ध कराना, धोखाधड़ी रोकने की सुविधा या ज़्यादा जानकारी वाली लॉगिंग. अगर आपको ज़्यादा जानकारी वाला डेटा चाहिए, तो उसे ऐक्सेस करने के लिए User-Agent Client Hints (UA-CH) एपीआई का इस्तेमाल किया जा सकता है. user-agent की तरह, UA-CH भी एचटीटीपी हेडर या JavaScript के ज़रिए उपलब्ध है.
आपने पहले ही Sec-CH-UA-
प्रीफ़िक्स के साथ भेजे जा रहे डिफ़ॉल्ट हेडर देखे होंगे. इनसे आपको ब्राउज़र, उसका मुख्य वर्शन, ऑपरेटिंग सिस्टम, और यह जानकारी मिलती है कि ब्राउज़र मोबाइल डिवाइस है या नहीं.
⏫ Chrome से User-Agent Client Hints के लिए डिफ़ॉल्ट अनुरोध हेडर:
Sec-CH-UA: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"
ज़्यादा डेटा का अनुरोध करने के लिए, अपने जवाब में Accept-CH
हेडर का इस्तेमाल किया जा सकता है.
इस मामले में, Android के उस वर्शन और डिवाइस टाइप को वापस पाने के लिए, Sec-CH-UA-Platform-Version
और Sec-CH-UA-Model
का अनुरोध किया जा सकता है.
⏬ आपके सर्वर से मिला रिस्पॉन्स हेडर, जिसमें प्लैटफ़ॉर्म वर्शन और मॉडल की जानकारी दी गई है:
Accept-CH:
Sec-CH-UA-Platform-Version,
Sec-CH-UA-Model
⏫ Chrome से हेडर वापस पाने का अनुरोध करें. इसमें Android वर्शन और मॉडल का नाम शामिल है:
Sec-CH-UA-Platform-Version: "13.0.0"
Sec-CH-UA-Model: "Pixel 7"
JavaScript में भी यही काम किया जा सकता है. इसके लिए, userAgentData
एपीआई पर getHighEntropyValues()
को कॉल करें और अपनी पसंद की वैल्यू का कलेक्शन पास करें: platformVersion
और model
.
यह एक प्रॉमिस दिखाता है, जिसमें खास वैल्यू वाला ऑब्जेक्ट होता है.
navigator.userAgentData
.getHighEntropyValues(
['platformVersion', 'model']
).then(ua => { console.log(ua)
});
{
"platformVersion": "13.0.0",
"model": "Pixel 7"
}
अलग-अलग डोमेन से किए जाने वाले अनुरोध या शुरुआती अनुरोध
अगर आपके पेज पर ऐसे क्रॉस-ऑरिजिन संसाधन हैं जिन्हें इन वैल्यू की ज़रूरत है, तो उन्हें ऐक्सेस करने की अनुमति दी जा सकती है. इसके लिए, Permissions-Policy
एचटीटीपी हेडर का इस्तेमाल करें या अपने एचटीएमएल में Delegate-CH
मेटा टैग का इस्तेमाल करें.
अगर आपकी साइट के लिए, सबसे पहले टॉप-लेवल अनुरोध पर ये संवेदनशील वैल्यू होना ज़रूरी है, तो Critical-CH
एचटीटीपी हेडर का इस्तेमाल किया जा सकता है. इससे ब्राउज़र को, जोड़े गए अतिरिक्त हिंट के साथ अपने शुरुआती अनुरोध को फिर से आज़माने के लिए कहा जाएगा.
यह उन लेगसी सिस्टम के लिए मददगार हो सकता है जिन्हें अपडेट करना मुश्किल होता है. हालांकि, शुरुआती एचटीएमएल दिखाने के लिए, आपको इन संवेदनशील वैल्यू पर भरोसा नहीं करना चाहिए.
ज़्यादा जानें
कम की गई उपयोगकर्ता-एजेंट स्ट्रिंग को काम करते हुए देखने के लिए, यह देखें:
- goo.gle/reduced-ua-demo पर जाकर, अपने डिवाइस के लिए, कम की गई उपयोगकर्ता-एजेंट स्ट्रिंग देखें
- goo.gle/ua-ch-demo पर जाकर, अपने डिवाइस के लिए, JavaScript और एचटीटीपी हेडर के सभी User-Agent क्लाइंट हिंट देखें
#reduce-user-agent
Chrome फ़्लैग को चालू करके, अपने ब्राउज़र में उपयोगकर्ता एजेंट हेडर में दी गई जानकारी को कम करें.
अपनी साइट पर छोटा किया गया उपयोगकर्ता-एजेंट पाने के लिए, अब भी उपयोगकर्ता एजेंट को छोटा करने के ऑरिजिन ट्रायल के लिए रजिस्टर किया जा सकता है. हालांकि, हम मार्च की शुरुआत में इस ट्रायल को खत्म कर देंगे, क्योंकि हम डिफ़ॉल्ट रूप से छोटा किया गया उपयोगकर्ता-एजेंट भेजने की सुविधा को बेहतर बना रहे हैं.
उपयोगकर्ता-एजेंट को कम करने की सुविधा के लैंडिंग पेज पर, हमारे पास ज़्यादा संसाधन हैं. इसके अलावा, उपयोगकर्ता-एजेंट को कम करने की सुविधा के लिए बने GitHub रेपो पर भी समस्याएं बताई जा सकती हैं.