Chrome 100 और इसके बाद के वर्शन में, सीएचआईपीएस का ऑरिजिन ट्रायल, कुकी को "पार्टिशन्ड" में ऑप्ट इन करने की अनुमति देता है स्टोरेज, हर टॉप लेवल साइट के लिए एक अलग कुकी जार के साथ.
बदलाव
- सितंबर 2022: Chrome 106 के ज़रिए ऑरिजिन ट्रायल की अवधि बढ़ाने के बारे में अपडेट की गई जानकारी देखें.
- अगस्त 2022:
path=/की ज़रूरी शर्त को हटाया गया (github.com/privacycg/CHIPS/pull/49 देखें). - जून 2022: Chrome 104 के बाद से,
Partitionedएट्रिब्यूट के साथ कुकी सेट करने के बाद,Domainएट्रिब्यूट को हटाने की ज़रूरत नहीं होगी. - मई 2022: Chrome 103 से, ऑरिजिन ट्रायल के लिए ऑप्ट इन करने के लिए, अब
Accept-CH: Sec-CH-Partitioned-Cookiesहेडर भेजना ज़रूरी नहीं है.
सीएचआईपीएस क्या है?
कुकीज़ हैविंग इंडिपेंडेंट पार्टिशन्ड स्टेट (सीएचआईपीएस) प्राइवसी सैंडबॉक्स का एक प्रपोज़ल है. इसकी मदद से डेवलपर, कुकी को "पार्टिशन्ड" में ऑप्ट इन कर सकते हैं स्टोरेज के लिए, हर टॉप लेवल साइट के लिए अलग-अलग कुकी जार का इस्तेमाल किया जा सकता है.
सेगमेंट में बांटी गई तीसरे पक्ष की कुकी, उस टॉप लेवल साइट से जुड़ी होती है जहां उसे शुरुआत में सेट किया जाता है और उसे किसी अन्य जगह से ऐक्सेस नहीं किया जा सकता. इसका मकसद कुकी को किसी तीसरे पक्ष की सेवा को सेट करने की अनुमति देना है, लेकिन उन्हें सिर्फ़ टॉप-लेवल साइट के संदर्भ में पढ़ा जा सकता है. ऐसा वे साइट के संदर्भ में करते हैं जहां उन्हें शुरू में सेट किया गया था.
ऑरिजिन ट्रायल किसके लिए है?
मुफ़्त में आज़माने की यह सुविधा, तीसरे पक्ष के ऑरिजिन ट्रायल के तौर पर उपलब्ध है. इससे, एम्बेड किया गया कॉन्टेंट उपलब्ध कराने वाली कंपनियां, कई साइटों पर कोई नई सुविधा आज़मा सकती हैं.
अगर कोई साइट पहले-पक्ष के तौर पर ट्रायल में रजिस्टर होती है, तो कुकी पार्टीशन उस साइट पर मौजूद तीसरे-पक्ष के कॉन्टेंट देने वालों के लिए भी उपलब्ध होगी. तीसरे पक्ष की इन कंपनियों को अतिरिक्त एचटीटीपी हेडर भी मिलने चाहिए. इससे यह पता चलता है कि ऑरिजिन ट्रायल में उनका नाम दर्ज किया गया है.
मुफ़्त में आज़माने की अवधि कब तक चलेगी?
यह सुविधा, Chrome 100 से लेकर Chrome 105 तक के वर्शन पर उपलब्ध होगी. रिलीज़ की पहले से तय तारीखों के लिए, Chrome के रिलीज़ शेड्यूल देखें.
ऑरिजिन ट्रायल में रजिस्टर करने का तरीका
ज़रूरी शर्तें
Chrome स्टेबल 103.
चरण
ऑरिजिन ट्रायल के लिए रजिस्टर करने और अपने डोमेन के लिए टोकन पाने के लिए, सीएचआईपीएस ऑरिजिन ट्रायल पेज पर जाएं.
Set-Cookieहेडर वाले किसी भी जवाब में मान्य टोकन के साथOrigin-Trialहेडर शामिल करें जिसमेंPartitionedशामिल हो:Origin-Trial: <ORIGIN TRIAL TOKEN>इन दो में से किसी एक तरीके का इस्तेमाल करके, कुकी में
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
chrome://flags/#partitioned-cookiesपर जाएं और सेटिंग को "चालू है" पर सेट करें.- "फिर से लॉन्च करें" पर क्लिक करके Chromium को रीस्टार्ट करें बटन पर क्लिक करें या chrome://restart पर जाएं.
chrome://settings/cookiesपर जाएं और पक्का करें कि रेडियो बटन "सभी कुकी को अनुमति दें" पर सेट हो या "गुप्त मोड में, तीसरे पक्ष की कुकी ब्लॉक करें".- एम्बेड की गई साइट को लोड करें.
- ऐप्लिकेशन में 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 का इस्तेमाल करके, सेगमेंट में बांटी गई कुकी पढ़ने और लिखने का ऐक्सेस होगा. ऐसे फ़्रेम जो ट्रायल की स्क्रिप्ट में शामिल नहीं हैं, वे पार्टिशन की गई कुकी को पढ़ या लिख नहीं पाएंगे.
सर्विस वर्कर में, सीएचआईपीएस का ऑरिजिन ट्रायल काम नहीं करता.
दिलचस्पी बढ़ाएं और सुझाव दें
- समस्याएं उठाएं और GitHub पर चर्चा का पालन करें.
- Privacy Sandbox के लिए डेवलपर सहायता रेपो पर जाकर सवाल पूछें और चर्चाओं में शामिल हों.
- Privacy Sandbox के प्रपोज़ल के बारे में सुझाव/राय देने या शिकायत करने के अलग-अलग तरीके जानें.