साइन किया गया एचटीटीपी एक्सचेंज (या "एसएक्सजी"), वेब पैकेज नाम की नई टेक्नोलॉजी का सबसेट है. इसकी मदद से पब्लिशर, अपने कॉन्टेंट को सुरक्षित तरीके से पोर्टेबल बना सकते हैं. इसका मतलब है कि कॉन्टेंट को दूसरी पार्टियों के लिए उपलब्ध कराया जा सकता है. साथ ही, कॉन्टेंट में दी जा रही जानकारी और उसके एट्रिब्यूशन को बनाए रखा जा सकता है. पोर्टेबल कॉन्टेंट के कई फ़ायदे हैं. जैसे, कॉन्टेंट को तेज़ी से डिलीवर करना, उपयोगकर्ताओं के बीच कॉन्टेंट शेयर करना, और ऑफ़लाइन अनुभव को आसान बनाना.
तो, साइन किए हुए एचटीटीपी एक्सचेंज कैसे काम करते हैं? इस टेक्नोलॉजी की मदद से, पब्लिशर किसी एक एचटीटीपी एक्सचेंज (यानी, अनुरोध/जवाब के जोड़े) पर हस्ताक्षर कर सकता है. ऐसा इसलिए किया जाता है, ताकि साइन किए गए एक्सचेंज को किसी भी कैश मेमोरी सर्वर से दिखाया जा सके. जब ब्राउज़र इस साइन किए गए एक्सचेंज को लोड करता है, तो वह पता बार में पब्लिशर का यूआरएल सुरक्षित तरीके से दिखा सकता है. इसकी वजह यह है कि एक्सचेंज में मौजूद हस्ताक्षर, इस बात का काफ़ी सबूत है कि कॉन्टेंट मूल रूप से पब्लिशर के ऑरिजिन से आया है.
इससे, कॉन्टेंट के सोर्स और उसे डिस्ट्रिब्यूट करने वाले व्यक्ति के बीच का अंतर पता चलता है. आपके कॉन्टेंट को किसी खास सर्वर, कनेक्शन या होस्टिंग सेवा पर निर्भर किए बिना, वेब पर पब्लिश किया जा सकता है! हम एसएक्सजी के संभावित इस्तेमालों को लेकर उत्साहित हैं. जैसे:
निजता बनाए रखते हुए प्रीफ़ेच करना: किसी दूसरे पेज पर जाने के लिए, संसाधनों को पहले से लोड करने (उदाहरण के लिए, लिंक rel=prefetch का इस्तेमाल करके) से नेविगेशन तेज़ हो सकता है. हालांकि, इससे निजता से जुड़ी समस्याएं भी हो सकती हैं. उदाहरण के लिए, क्रॉस-ऑरिजिन नेविगेशन के लिए संसाधनों को पहले से लोड करने से, डेस्टिनेशन साइट को यह पता चल जाएगा कि उपयोगकर्ता को किसी जानकारी में दिलचस्पी है. भले ही, उपयोगकर्ता ने आखिर में साइट पर न भी विज़िट किया हो. दूसरी ओर, एसएक्सजी की मदद से, डेस्टिनेशन साइट पर जाने के बिना, फ़ास्ट कैश मेमोरी से क्रॉस-ओरिजिन संसाधनों को पहले से लोड किया जा सकता है. इससे, नेविगेशन होने पर ही उपयोगकर्ता की दिलचस्पी के बारे में जानकारी दी जाती है. हम मानते हैं कि यह उन साइटों के लिए मददगार हो सकता है जिनका मकसद अपने उपयोगकर्ताओं को दूसरी वेबसाइटों पर भेजना है. खास तौर पर, Google का इरादा Google के खोज नतीजों वाले पेजों पर इसका इस्तेमाल करने का है, ताकि एएमपी यूआरएल को बेहतर बनाया जा सके और खोज नतीजों पर क्लिक करने की स्पीड बढ़ाई जा सके.
अपने सर्टिफ़िकेट की निजी कुंजी का कंट्रोल दिए बिना, सीडीएन के इस्तेमाल के फ़ायदे: अगर कोई कॉन्टेंट अचानक लोकप्रिय हो जाता है, तो अक्सर उस कॉन्टेंट को दिखाने वाली साइट पर ट्रैफ़िक बढ़ जाता है.उदाहरण के लिए, reddit.com के पहले पेज से लिंक किया गया कॉन्टेंट.अगर साइट काफ़ी छोटी है, तो वह धीमी हो जाती है या कुछ समय के लिए उपलब्ध नहीं रहती. अगर कॉन्टेंट को तेज़ और बेहतर कैश मेमोरी वाले सर्वर का इस्तेमाल करके शेयर किया जाता है, तो इस स्थिति से बचा जा सकता है. SXG, आपकी TLS कुंजियों को शेयर किए बिना ऐसा करने की सुविधा देता है.
साइन किए गए एक्सचेंज आज़माना
हस्ताक्षर किए गए एक्सचेंज, Chrome के 73 और उसके बाद के वर्शन में उपलब्ध हैं. पहले ये ऑरिजिन ट्रायल के तौर पर उपलब्ध थे.
एसएक्सजी बनाना
पब्लिशर के तौर पर, अपने ऑरिजिन के लिए SXG बनाने के लिए, आपको हस्ताक्षर करने के लिए सर्टिफ़िकेट पासकोड की ज़रूरत होती है. साथ ही, सर्टिफ़िकेट में एक खास "CanSignHttpExchanges" एक्सटेंशन होना चाहिए, ताकि उसे मान्य SXG के तौर पर प्रोसेस किया जा सके. नवंबर 2018 तक, DigiCert एकमात्र ऐसा सीए है जो इस एक्सटेंशन के साथ काम करता है. इस पेज पर जाकर, एसएक्सजी के साथ काम करने वाले सर्टिफ़िकेट का अनुरोध किया जा सकता है.
एसएक्सजी का सर्टिफ़िकेट मिलने के बाद, github पर पब्लिश किए गए रेफ़रंस जनरेटर टूल का इस्तेमाल करके, अपने एसएक्सजी बनाए जा सकते हैं.
Chrome के कोड रिपॉज़िटरी में, SXG फ़ाइलों के उदाहरण भी देखे जा सकते हैं. उदाहरण के लिए, यह सबसे आसान उदाहरण है, जिसे सामान्य टेक्स्ट फ़ाइल के लिए बनाया गया है. ध्यान दें कि ये मुख्य रूप से स्थानीय टेस्टिंग के लिए जनरेट किए जाते हैं. कृपया उम्मीद न करें कि इनके हस्ताक्षर में मान्य सर्टिफ़िकेट और टाइमस्टैंप हों.
स्थानीय तौर पर सुविधा को टेस्ट करना
टेस्टिंग के मकसद से SXG बनाने के लिए, खुद हस्ताक्षर किया हुआ सर्टिफ़िकेट बनाया जा सकता है. साथ ही, chrome://flags/#allow-sxg-certs-without-extension
को चालू करके, Chrome को सर्टिफ़िकेट के साथ बनाए गए SXG को खास एक्सटेंशन के बिना प्रोसेस करने की अनुमति दी जा सकती है.
अगर आपका सर्वर, सर्टिफ़िकेट, और SXGs ठीक से सेट अप हैं, तो नीचे दिया गया कोड काम करना चाहिए:
<!-- prefetch the sample.sxg -->
<link rel="prefetch" href="https://your-site.com/sample.sxg" />
<!-- clicking the link below should make Chrome navigate to the inner
response of sample.sxg (and the prefetched SXG is used) -->
<a href="https://your-site.com/sample.sxg">Sample</a>
ध्यान दें कि SXG सिर्फ़ Chrome 73 और इसके बाद के वर्शन में, ऐंकर टैग (<a>
) और link rel=prefetch
के साथ काम करता है. यह भी ध्यान रखें कि हर खास जानकारी के लिए, हस्ताक्षर की समयसीमा सात दिन से ज़्यादा नहीं हो सकती. इसलिए, हस्ताक्षर किए गए कॉन्टेंट की समयसीमा जल्दी खत्म हो जाएगी.
सुझाव/राय देना या शिकायत करना
इस एक्सपेरिमेंट के बारे में हमें आपका सुझाव, शिकायत या राय चाहिए. इसके लिए, webpackage-dev@chromium.org पर संपर्क करें. आपके पास स्पेसिफ़िकेशन की चर्चा में शामिल होने या टीम को Chrome में किसी गड़बड़ी की शिकायत करने का विकल्प भी है. आपके सुझाव/राय/शिकायत से, हमें स्टैंडर्ड बनाने की प्रोसेस को बेहतर बनाने में मदद मिलेगी. साथ ही, इसे लागू करने से जुड़ी समस्याओं को हल करने में भी मदद मिलेगी.