यूज़र-एजेंट रिडक्शन ऑरिजिन ट्रायल

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

Chrome 95 के बीटा वर्शन की शुरुआत से, उपयोगकर्ता-एजेंट को कम करने की सुविधा के लिए, हम ऑरिजिन ट्रायल की सुविधा शुरू करेंगे. इससे, साइटों को कम की गई UA स्ट्रिंग का इस्तेमाल करने के लिए ऑप्ट-इन करने की अनुमति मिल जाएगी. इससे Chrome में UA के डिफ़ॉल्ट वर्शन बनने से पहले, साइटें समस्याओं का पता लगा पाएंगी और उन्हें ठीक कर पाएंगी. इस कमी को 2022 की दूसरी तिमाही से शुरू किया जाएगा. अगर आपको जनसंख्या के हिसाब से, 95 बीटा वर्शन के उपयोगकर्ताओं के लिए ऑरिजिन ट्रायल लागू करना है, तो Chrome 95 के रिलीज़ होने की तारीख से पहले ऑप्ट-इन और टेस्ट ज़रूर कर लें. Chrome 95 को 19 अक्टूबर, 2021 को फ़िलहाल शेड्यूल किया गया है.

यहां ऑरिजिन ट्रायल के बारे में खास जानकारी दी गई है. साथ ही, यह भी बताया गया है कि आपको आगे क्या करना चाहिए. हमेशा की तरह, हम UA रिडक्शन GitHub रिपॉज़िटरी में, इस ट्रायल के दौरान सुझाव देने या किसी भी तरह की समस्या होने पर आपका स्वागत करते हैं.

उपयोगकर्ता-एजेंट क्या है?

उपयोगकर्ता-एजेंट (UA) स्ट्रिंग को हर एचटीटीपी अनुरोध पर शेयर किया जाता है. साथ ही, इसे ब्राउज़र से लोड किए गए सभी संसाधनों के लिए JavaScript में दिखाया जाता है. फ़िलहाल, इसमें ब्राउज़र और उस प्लैटफ़ॉर्म पर ज़रूरी जानकारी मौजूद है जिस पर यह काम किया जा रहा है.

उपयोगकर्ता-एजेंट कम क्यों किया जा रहा है?

उपयोगकर्ता एजेंट को कम करने की सुविधा, Chrome ब्राउज़र में पैसिव फ़िंगरप्रिंटिंग प्लैटफ़ॉर्म को कम करने की एक कोशिश है. इसका एलान पहली बार जनवरी 2020 में किया गया था. UA स्ट्रिंग में जानकारी को सिर्फ़ ब्राउज़र के ब्रैंड और अहम वर्शन, डेस्कटॉप या मोबाइल की पहचान, और इसके लिए चलाए जा रहे प्लैटफ़ॉर्म तक सीमित करने से, अलग-अलग उपयोगकर्ताओं को पहचानना ज़्यादा मुश्किल हो जाता है.

वेब डेवलपर पर इसका क्या असर होगा?

साइटों को कम UA स्ट्रिंग पाने के लिए तैयार रहना चाहिए. साथ ही, ऑरिजिन ट्रायल में हिस्सा लेने के बारे में सोचना चाहिए (ज़्यादा जानकारी नीचे दी गई है). उपयोगकर्ता एजेंट की कम की गई वैल्यू यहां दिखेंगी:

  • User-Agent एचटीटीपी अनुरोध का हेडर
  • navigator.userAgent JavaScript गैटर
  • navigator.platform JavaScript गैटर
  • navigator.appVersion JavaScript गैटर

कम उपयोगकर्ता-एजेंट की शेयर की गई जानकारी के मुकाबले क्लाइंट की ज़्यादा जानकारी पाने के लिए, साइटों को नए User-Agent Client हिंट एपीआई पर माइग्रेट करना होगा. माइग्रेशन की रणनीतियों के बारे में ज़्यादा जानने के लिए, उपयोगकर्ता-एजेंट क्लाइंट पर माइग्रेट करना लेख पढ़ें.

फ़िलहाल, उपयोगकर्ता एजेंट को कम करने वाले प्लान में iOS और वेबव्यू शामिल नहीं हैं. इसलिए, उन प्लैटफ़ॉर्म को उपयोगकर्ता एजेंट वाली पूरी स्ट्रिंग मिलती रहेगी. इसकी मुख्य वजह यह है कि इन प्लैटफ़ॉर्म ने अभी तक उपयोगकर्ता एजेंट क्लाइंट हिंट लागू नहीं किए हैं.

यह ऑरिजिन ट्रायल कैसे काम करता है?

यह ऑरिजिन ट्रायल, स्टैंडर्ड ऑरिजिन ट्रायल से कुछ अलग है. स्टैंडर्ड ऑरिजिन ट्रायल, रिस्पॉन्स में सिर्फ़ व्यवहार को कंट्रोल कर सकते हैं (उदाहरण के लिए, रिस्पॉन्स की JavaScript में किसी एपीआई का ऐक्सेस कंट्रोल करना). इस ट्रायल में, हमारा लक्ष्य न सिर्फ़ JavaScript API में दी गई UA स्ट्रिंग में बदलाव करना है, बल्कि एचटीटीपी अनुरोध पर भेजे गए उपयोगकर्ता-एजेंट हेडर में भी बदलाव करना है.

ऐसा करने के लिए, हम Sec-CH-UA-Reduced नाम का एक अस्थायी क्लाइंट हिंट तय कर रहे हैं. अनुरोध में उपयोगकर्ता के मौजूद होने से पता चलेगा कि User-Agent हेडर की वैल्यू में कम की गई UA स्ट्रिंग है. Sec-CH-UA-Reduced क्लाइंट हिंट सिर्फ़ तब भेजा जाएगा (कम की गई UA स्ट्रिंग के साथ), जब ऑरिजिन ट्रायल टोकन मान्य होगा. साथ ही, ऑरिजिन ट्रायल की समयसीमा खत्म होने के बाद Sec-CH-UA-Reduced क्लाइंट हिंट काम नहीं करेगा. ध्यान रखें कि जब तक Critical-CH header को सेट नहीं किया जाता, तब तक नेविगेशन के पहले अनुरोध को कम नहीं की गई उपयोगकर्ता-एजेंट स्ट्रिंग मिलेगी.

एक ही ऑरिजिन के लिए सबरिसॉर्स के अनुरोध, अपने-आप वही उपयोगकर्ता एजेंट स्ट्रिंग भेजेंगे जो टॉप-लेवल के अनुरोध के लिए भेजी गई है. तीसरे पक्ष के ऑरिजिन को सबरिसॉर्स के अनुरोध भी वही उपयोगकर्ता-एजेंट स्ट्रिंग भेजेंगे जो टॉप लेवल के अनुरोध की तरह है. इसमें, कम की गई UA स्ट्रिंग भी भेजी जाएगी. हालांकि, ऐसा सिर्फ़ तब होगा, जब ऑरिजिन ट्रायल टोकन मान्य हो. हालांकि, इसके लिए ज़रूरी है कि अनुमतियों की नीति इसकी अनुमति देती हो.

मैं उपयोगकर्ता एजेंट को कम करने की सुविधा के ऑरिजिन ट्रायल में कैसे हिस्सा लूं?

  1. ऑरिजिन ट्रायल के लिए रजिस्टर करने और अपने डोमेन के लिए टोकन पाने के लिए, उपयोगकर्ता एजेंट को कम करने की प्रोसेस के पेज पर जाएं.

  2. अपने एचटीटीपी रिस्पॉन्स हेडर अपडेट करें:

    1. अपने एचटीटीपी रिस्पॉन्स हेडर में Origin-Trial: <ORIGIN TRIAL TOKEN> को जोड़ें. यहां <ORIGIN TRIAL TOKEN> में वह टोकन मौजूद होगा जो आपको ऑरिजिन ट्रायल के लिए रजिस्टर करते समय मिला था.
    2. अपने एचटीटीपी रिस्पॉन्स हेडर में Accept-CH: Sec-CH-UA-Reduced जोड़ें.
    3. Accept-CH को सेट करने पर, कम की गई उपयोगकर्ता-एजेंट स्ट्रिंग सिर्फ़ ऑरिजिन पर इसके बाद के अनुरोधों पर भेजी जाएगी. कम की गई उपयोगकर्ता-एजेंट स्ट्रिंग के साथ पहला नेविगेशन अनुरोध फिर से भेजने के लिए, अपने एचटीटीपी रिस्पॉन्स हेडर में Critical-CH: Sec-CH-UA-Reduced को Accept-CH और Origin-Trial हेडर के अलावा जोड़ें.
    4. ध्यान दें: अगर रिस्पॉन्स हेडर में मान्य Origin-Trial टोकन और Accept-CH: Sec-CH-UA-Reduced मौजूद है, तो सभी सबरिसॉर्स अनुरोध (उदाहरण के लिए, इमेज या स्टाइलशीट के लिए) और सबनेविगेशन (जैसे, iframe) कम की गई UA स्ट्रिंग भेजेंगे. भले ही, उन अनुरोधों के ऑरिजिन को ऑरिजिन ट्रायल में रजिस्टर न किया गया हो.
  3. अपनी वेबसाइट को Chrome M95 (या इसके बाद के वर्शन) पर लोड करें और कम की गई UA स्ट्रिंग पाना शुरू करें.

  4. UA में कमी की जानकारी देने वाले GitHub डेटा स्टोर करने की जगह में, किसी भी तरह की समस्या या सुझाव सबमिट करें.

  5. ऑरिजिन ट्रायल (सोर्स कोड के साथ) को समझने के लिए, https://uar-ot.glitch.me/ पर जाएं.

तीसरे पक्ष के एम्बेड के तौर पर, ऑरिजिन ट्रायल में कैसे हिस्सा लें?

Chrome 96 से, तीसरे पक्ष के एम्बेड (उदाहरण के लिए, किसी दूसरी साइट के अंदर iframe) को ऑरिजिन ट्रायल में शामिल किया जा सकता है. इसके लिए, टॉप-लेवल की साइट को रजिस्टर करने की ज़रूरत नहीं होती.

तीसरे पक्ष के एम्बेड के तौर पर रजिस्टर करने के लिए:

  1. उपयोगकर्ता एजेंट को कम करने की प्रोसेस पर जाएं और रजिस्टर करें पर क्लिक करें.
  2. टोकन बनाते समय, Third-party matching चेकबॉक्स को चुनना न भूलें.
  3. तीसरे पक्ष के एम्बेड से कम किया गया उपयोगकर्ता-एजेंट हेडर पाने के लिए, एचटीटीपी रिस्पॉन्स हेडर अपडेट करें.
  4. JavaScript एपीआई में, कम की गई उपयोगकर्ता एजेंट स्ट्रिंग पाने के लिए, ट्रायल टोकन को JavaScript के ज़रिए इंजेक्ट करना ज़रूरी है.

तीसरे पक्ष के एम्बेड पर ऑरिजिन ट्रायल चलाने के बारे में कुछ अहम बातें: + Critical-CH को तीसरे पक्ष के एम्बेड के लिए तय नहीं किया जा सकता. इसलिए, पहले नेविगेशन से कम की गई UA स्ट्रिंग नहीं भेजी जाएगी. हालांकि, तीसरे पक्ष के एम्बेड के सबरिसॉर्स अनुरोध, कम की गई UA स्ट्रिंग भेज देंगे. + अगर किसी तीसरे पक्ष के एम्बेड के ऑरिजिन के लिए, ऑरिजिन ट्रायल की पुष्टि हो जाती है, तो टॉप लेवल नेविगेशन में उसी ऑरिजिन के लिए किए जाने वाले अगले अनुरोध, कम की गई UA स्ट्रिंग भेज देंगे. इस वजह से, हमारा सुझाव है कि टॉप लेवल और एम्बेड करने, दोनों तरह के अनुरोधों को एक साथ जोड़ने के लिए, ऑरिजिन ट्रायल में भागीदारी को बढ़ाएं. + अगर उपयोगकर्ता एजेंट ने तीसरे पक्ष की कुकी को बंद कर दिया है, तो तीसरे पक्ष के एम्बेड करने के अनुरोधों में, User-Agent हेडर के लिए ऑरिजिन ट्रायल काम नहीं करेगा. हालांकि, JavaScript एपीआई को अब भी कम की गई UA स्ट्रिंग मिलेगी.

मैं यह कैसे पुष्टि करूं कि ऑरिजिन ट्रायल काम कर रहा है?

यह पुष्टि करने के लिए कि ऑरिजिन ट्रायल काम कर रहा है, अनुरोध के हेडर की जांच करें और पक्का करें कि:

  1. उपयोगकर्ता-एजेंट हेडर में कम किया गया वर्शन होता है. कम की गई UA स्ट्रिंग के नमूनों की सूची देखें. इसका आसान तरीका यह है कि Chrome माइनर वर्शन स्ट्रिंग में 0.0.0 शामिल है.
  2. Sec-CH-UA-Reduced हेडर को ?1 पर सेट किया गया है.

ऑरिजिन ट्रायल टोकन वाले शुरुआती रिस्पॉन्स हेडर कुछ ऐसे दिखने चाहिए:

शुरुआती रिस्पॉन्स के हेडर, जिनमें ऑरिजिन-ट्रायल टोकन शामिल है.

कम की गई UA स्ट्रिंग वाले अनुरोध के हेडर कुछ इस तरह दिखने चाहिए:

अनुरोध के हेडर, जिनमें कम की गई UA स्ट्रिंग मौजूद है.

मैं उपयोगकर्ता-एजेंट कम करने की सुविधा के ऑरिजिन ट्रायल में हिस्सा लेना कैसे बंद करूं?

मुफ़्त में आज़माने की अवधि के दौरान किसी भी समय, आपके पास प्रोग्राम में हिस्सा लेना बंद करके, पूरी उपयोगकर्ता-एजेंट स्ट्रिंग मिलने की सुविधा होती है. हिस्सा लेने से रोकने के लिए:

  1. अपने एचटीटीपी रिस्पॉन्स में Accept-CH हेडर भेजें जिसमें Sec-CH-UA-Reduced शामिल हो. ध्यान दें: अगर आपकी साइट किसी दूसरे क्लाइंट हिंट का अनुरोध नहीं करती है, तो खाली वैल्यू के साथ Accept-CH का इस्तेमाल करना एक मान्य तरीका है.
  2. अपने एचटीटीपी रिस्पॉन्स से, उपयोगकर्ता एजेंट को कम करने की सुविधा के ट्रायल के लिए Origin-Trial हेडर हटाएं.
  3. अगर यह नीति सेट है, तो अपने एचटीटीपी रिस्पॉन्स में Critical-CH हेडर से Sec-CH-UA-Reduced को हटाएं.

ऑरिजिन ट्रायल की अवधि कितनी है?

UA रिडक्शन ऑरिजिन ट्रायल कम से कम छह महीने तक चलेगा, जो Chrome के करीब छह माइलस्टोन के बराबर है. ऑरिजिन ट्रायल M95 में दिखेगा और M101 तक खत्म होगा. इसके बाद, Chrome रोलआउट प्लान के मुताबिक, कम की गई उपयोगकर्ता-एजेंट स्ट्रिंग को भेजने से पहले, ऑरिजिन ट्रायल से मिले सुझाव, शिकायत या राय का आकलन करेगा. अगर किसी साइट को ज़्यादा समय के लिए, उसके ऑरिजिन ट्रायल को बंद करने के लिए ऑप्ट इन करना है, तो उसे कम से कम छह महीने तक पूरी UA स्ट्रिंग का ऐक्सेस मिल जाएगा. सुविधा बंद होने के ट्रायल के बारे में ज़्यादा जानकारी उपलब्ध होने पर, हम उसे पब्लिश करेंगे.

मैं उपयोगकर्ता-एजेंट कम करने की सुविधा के ऑरिजिन ट्रायल के बारे में सुझाव/राय या शिकायत कैसे शेयर करूं?

UA में कमी की जानकारी देने वाले GitHub डेटा स्टोर करने की जगह में, किसी भी तरह की समस्या या सुझाव सबमिट करें.