ऐसी कुकी जिनमें इंडिपेंडेंट पार्टिशनेड स्टेट (सीएचआईपीएस) का ऑरिजिन ट्रायल चल रहा है

Chrome 100 की शुरुआत से, सीएचआईपीएस का ऑरिजिन ट्रायल, कुकी को "पार्टिशन किए गए" स्टोरेज में ऑप्ट इन करने की अनुमति देता है. इसमें हर टॉप लेवल साइट के लिए एक अलग कुकी जार होता है.

बदलाव

सीएचआईपीएस क्या है?

कुकीज़ हैविंग इंडिपेंडेंट पार्टिशन्ड स्टेट (सीएचआईपीएस) प्राइवसी सैंडबॉक्स का एक प्रपोज़ल है. इससे डेवलपर, हर टॉप लेवल साइट के लिए अलग-अलग कुकी जार के साथ, कुकी को "पार्टिशन किए गए" स्टोरेज में चुन सकते हैं.

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

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

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

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

मुफ़्त में आज़माने की अवधि कब तक चलेगी?

यह सुविधा, Chrome 100 से लेकर Chrome 105 तक के वर्शन पर उपलब्ध होगी. रिलीज़ की पहले से तय तारीखों के लिए, Chrome के रिलीज़ शेड्यूल देखें.

ऑरिजिन ट्रायल में रजिस्टर करने का तरीका

ज़रूरी शर्तें

Chrome स्टेबल 103.

चरण

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

  2. Set-Cookie हेडर वाले किसी भी जवाब में मान्य टोकन के साथ Origin-Trial हेडर शामिल करें जिसमें Partitioned शामिल हो:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. इन दो में से किसी एक तरीके का इस्तेमाल करके, कुकी में Partitioned एट्रिब्यूट जोड़ें:

    • Set-Cookieहेडर में:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • JavaScript में:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

उदाहरण

ऑरिजिन ट्रायल में हिस्सा लेने वाली साइटों के रिस्पॉन्स में, यहां दिए गए हेडर शामिल होने चाहिए:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

पुष्टि करें कि यह काम कर रहा है

हेडर की जांच करें

अगर आपने ऑरिजिन ट्रायल के लिए ऑप्ट इन किया है और पार्टिशन की गई कुकी सेट कर दी है, तो Chrome क्लाइंट के अगले अनुरोधों में Sec-CH-Partitioned-Cookies: ?0 अनुरोध का हेडर शामिल होगा. यह हेडर तब तक शामिल रहेगा, जब तक मौजूदा सेशन खत्म नहीं हो जाता.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

अगर आपकी साइट को इस क्लाइंट संकेत के बिना कुकी मिलती है, तो ऑरिजिन ट्रायल के लिए ऑप्ट इन नहीं किया जा सका. साथ ही, आपको जो कुकी मिल रही है उसे सेगमेंट में नहीं बांटा गया है.

जिन जवाबों में Partitioned के साथ Set-Cookie हेडर शामिल नहीं है उनके जवाबों से किसी साइट के ऑरिजिन ट्रायल में हिस्सा लेने की स्थिति पर कोई असर नहीं पड़ेगा.

अगर Origin-Trial हेडर में मान्य टोकन से जवाब नहीं दिया जाता है, तो मशीन पर सेगमेंट में बांटी गई कुकी, अलग-अलग कुकी में बदल जाएंगी.

ज़्यादा जानकारी के लिए, chromium.org पर सीएचआईपीएस दस्तावेज़ देखें.

DevTools

  1. chrome://flags/#partitioned-cookies पर जाएं और सेटिंग को "चालू है" पर सेट करें.
  2. सबसे नीचे दाएं कोने में, "फिर से लॉन्च करें" बटन पर क्लिक करके या chrome://restart पर जाकर, Chromium को रीस्टार्ट करें.
  3. chrome://settings/cookies पर जाएं और पक्का करें कि रेडियो बटन "सभी कुकी को अनुमति दें" या "गुप्त मोड में तीसरे पक्ष की कुकी ब्लॉक करें" पर सेट हो.
  4. एम्बेड की गई साइट को लोड करें.
  5. DevTools को ऐप्लिकेशन > कुकी > आपकी साइट पर खोलें और DevTools में पार्टिशन कुंजी कॉलम खोजें.

ज़्यादा जानकारी

कुकी से जुड़ी ज़रूरी शर्तें

  • सेगमेंट में बांटी गई कुकी, Secure के साथ सेट होनी चाहिए. (Path=/ की अब ज़रूरत नहीं है: github.com/privacycg/CHIPS/pull/49 देखें).
  • Partitioned. के साथ SameParty एट्रिब्यूट का इस्तेमाल नहीं किया जा सकता

Chrome, Partitioned एट्रिब्यूट की मदद से सेट की गई कुकी के लिए इन नियमों को लागू करेगा. भले ही, कुकी के पार्टीशन की सुविधा चालू हो या बंद. गलत तरीके से सेट की गई कुकी अस्वीकार कर दी जाएंगी.

अगर कुकी को पार्टी में बांटने की सुविधा बंद है, लेकिन कुकी को सही एट्रिब्यूट के साथ सेट किया गया है, तो Chrome Partitioned एट्रिब्यूट को अनदेखा कर देगा. इसके बाद भी, नतीजे वाली कुकी को उसके होस्ट को अनुरोध में ऐसी दूसरी टॉप लेवल साइटों पर भेजा जाएगा जहां उसे सेट नहीं किया गया था.

सेगमेंट में बांटी गई कुकी में SameSite=None एट्रिब्यूट भी शामिल होना चाहिए, ताकि तीसरे पक्ष के उन ब्राउज़र में कुकी को भेजा जा सके जिनमें कुकी के लिए पार्टीशन की सुविधा काम नहीं करती.

JavaScript और सर्विस वर्कर

ऑरिजिन ट्रायल में ऑप्ट इन करने वाले फ़्रेम के पास, document.cookie और CookieStore API जैसे JavaScript API का इस्तेमाल करके, सेगमेंट में बांटी गई कुकी पढ़ने और लिखने का ऐक्सेस होगा. ऐसे फ़्रेम जो ट्रायल की स्क्रिप्ट में शामिल नहीं हैं, वे पार्टिशन की गई कुकी को पढ़ या लिख नहीं पाएंगे.

सर्विस वर्कर में, सीएचआईपीएस का ऑरिजिन ट्रायल काम नहीं करता.

दिलचस्पी बढ़ाएं और सुझाव दें