एसएक्सजी, कॉन्टेंट डिलीवर करने का एक तरीका है. इससे किसी संसाधन के सोर्स की पुष्टि की जा सकती है. इससे कोई फ़र्क़ नहीं पड़ता कि उसे कैसे डिलीवर किया गया था.
साइन किए हुए एक्सचेंज (एसएक्सजी), कॉन्टेंट डिलीवर करने का एक तरीका है. इससे किसी संसाधन के ऑरिजिन की पुष्टि की जा सकती है, भले ही उसे किसी भी तरीके से डिलीवर किया गया हो. एसएक्सजी को लागू करने से, सबसे बड़े एलिमेंट को रेंडर करने में लगने वाले समय (एलसीपी) को कम किया जा सकता है. इसके लिए, निजता बनाए रखने वाले क्रॉस-ऑरिजिन प्रीफ़ेच को चालू करना होगा. इसके अलावा, इस डिकपलिंग से कई तरह के इस्तेमाल के उदाहरणों को बेहतर बनाया जा सकता है. जैसे, ऑफ़लाइन इंटरनेट अनुभव और तीसरे पक्ष के कैश मेमोरी से सेवा देना.
इस लेख में, एसएक्सजी के बारे में पूरी जानकारी दी गई है. जैसे, यह कैसे काम करता है, इसके इस्तेमाल के उदाहरण, और टूल.
वेबसाइट का अलग-अलग ब्राउज़र पर चलना
Chromium पर आधारित ब्राउज़र, एसएक्सजी के साथ काम करते हैं. इनमें Chrome 73, Edge 79, और Opera 64 के बाद के वर्शन शामिल हैं.
खास जानकारी
एसएक्सजी, कैश मेमोरी का इस्तेमाल करके कॉन्टेंट को प्रीफ़ेच करता है और उसे दिखाता है. यह कॉन्टेंट, ओरिजन से क्रिप्टोग्राफ़िक तरीके से साइन किया गया होता है. इससे रेफ़रर साइटों से क्रॉस ऑरिजिन नेविगेशन को तेज़ी से लोड करने में मदद मिलती है. साथ ही, यह पक्का किया जाता है कि पेज में कोई बदलाव न हो और उन्हें उनके ऑरिजिन के हिसाब से सही तरीके से एट्रिब्यूट किया जाए. उपयोगकर्ता की पहचान ज़ाहिर करने वाली किसी भी जानकारी को तब तक छिपाकर रखा जाता है, जब तक उपयोगकर्ता किसी साइट पर नहीं जाता. इससे उपयोगकर्ता की निजता सुरक्षित रहती है. Google Search, एसएक्सजी की प्रीफ़ेच करने की सुविधाओं को अपनाने वाले शुरुआती प्लैटफ़ॉर्म में से एक है. जिन साइटों को Google Search से ज़्यादा ट्रैफ़िक मिलता है उनके लिए एसएक्सजी, उपयोगकर्ताओं को तेज़ी से पेज लोड करने की सुविधा देने का एक अहम टूल हो सकता है. हमें उम्मीद है कि आने वाले समय में, यह सुविधा अन्य रेफ़रर के लिए भी उपलब्ध होगी.
यह कैसे काम करता है
कोई साइट, अनुरोध/जवाब के जोड़े ("एचटीटीपी एक्सचेंज") पर इस तरह से हस्ताक्षर करती है कि ब्राउज़र, कॉन्टेंट के सोर्स और उसकी प्रामाणिकता की पुष्टि कर सके. इससे कोई फ़र्क़ नहीं पड़ता कि कॉन्टेंट को कैसे डिस्ट्रिब्यूट किया गया था. इस वजह से, ब्राउज़र पता बार में कॉन्टेंट डिलीवर करने वाले सर्वर के यूआरएल के बजाय, ओरिजन साइट का यूआरएल दिखा सकता है.

पहले, किसी साइट को अपने कॉन्टेंट को डिस्ट्रिब्यूट करने के लिए, तीसरे पक्ष का इस्तेमाल करने का सिर्फ़ एक तरीका था. इसके लिए, साइट को अपने एसएसएल सर्टिफ़िकेट, डिस्ट्रिब्यूटर के साथ शेयर करने पड़ते थे. इससे, साइट को एट्रिब्यूशन बनाए रखने में मदद मिलती थी. इससे सुरक्षा से जुड़ी समस्याएं हो सकती हैं. साथ ही, कॉन्टेंट को पूरी तरह से पोर्टेबल बनाना मुश्किल हो जाता है.
एसएक्सजी फ़ॉर्मैट
एसएक्सजी को बाइनरी-कोड वाली फ़ाइल में एन्कैप्सुलेट किया जाता है. इसमें दो मुख्य कॉम्पोनेंट होते हैं: एक एचटीटीपी एक्सचेंज और एक हस्ताक्षर, जो एक्सचेंज को कवर करता है. एचटीटीपी एक्सचेंज में, अनुरोध यूआरएल, कॉन्टेंट नेगोशिएशन की जानकारी, और एचटीटीपी रिस्पॉन्स शामिल होता है.
format version: 1b3
request:
method: GET
uri: https://example.org/
headers:
response:
status: 200
headers:
Cache-Control: max-age=604800
Digest: mi-sha256-03=kcwVP6aOwYmA/j9JbUU0GbuiZdnjaBVB/1ag6miNUMY=
Expires: Mon, 24 Aug 2020 16:08:24 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: mi-sha256-03
Date: Mon, 17 Aug 2020 16:08:24 GMT
Vary: Accept-Encoding
signature:
label;cert-sha256=<em>ViFgi0WfQ+NotPJf8PBo2T5dEuZ13NdZefPybXq/HhE=</em>;
cert-url="https://test.web.app/ViFgi0WfQ-NotPJf8PBo2T5dEuZ13NdZefPybXq_HhE";
date=1597680503;expires=1598285303;integrity="digest/mi-sha256-03";sig=<em>MEUCIQD5VqojZ1ujXXQaBt1CPKgJxuJTvFlIGLgkyNkC6d7LdAIgQUQ8lC4eaoxBjcVNKLrbS9kRMoCHKG67MweqNXy6wJg=</em>;
validity-url="https://example.org/webpkg/validity"
header integrity: sha256-Gl9bFHnNvHppKsv+bFEZwlYbbJ4vyf4MnaMMvTitTGQ=</p>
<p>The exchange has a valid signature.
payload [1256 bytes]:</p>
<pre class="prettyprint"><code><title>SXG example</title>
<meta charset="utf-8">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
}
</style>
</code></pre>
<div>
<h1>Hello</h1>
</div>
<p>सिग्नेचर में मौजूद expires पैरामीटर, एसएक्सजी की समयसीमा खत्म होने की तारीख दिखाता है. कोई एसएक्सजी ज़्यादा से ज़्यादा सात दिनों के लिए मान्य हो सकता है. सिग्नेचर हेडर के बारे में ज़्यादा जानकारी के लिए, एचटीटीपी के डिजिटल वेरिफ़िकेशन की खास जानकारी देखें.
सर्वर-साइड पर मनमुताबिक बनाने की सुविधा
Vary: Cookie हेडर वाला एसएक्सजी, सिर्फ़ उन उपयोगकर्ताओं को दिखेगा जिनके पास साइन किए गए अनुरोध वाले यूआरएल के लिए कुकी नहीं हैं. अगर आपकी साइट, लॉग इन किए हुए उपयोगकर्ताओं को अलग एचटीएमएल दिखाती है, तो इस सुविधा का इस्तेमाल करके एसएक्सजी का फ़ायदा लिया जा सकता है. इसके लिए, आपको उस अनुभव में बदलाव करने की ज़रूरत नहीं है. डाइनैमिक एसएक्सजी की मदद से, सर्वर-साइड पर उपयोगकर्ता के हिसाब से कॉन्टेंट दिखाने के बारे में ज़्यादा जानें.
वेब पैकेजिंग
एसएक्सजी, वेब पैकेजिंग के स्पेसिफ़िकेशन प्रस्तावों का हिस्सा है. एसएक्सजी के अलावा, वेब पैकेजिंग की खास जानकारी का दूसरा मुख्य कॉम्पोनेंट वेब बंडल ("बंडल किए गए एचटीटीपी एक्सचेंज") है. वेब बंडल, एचटीटीपी रिसॉर्स और बंडल को समझने के लिए ज़रूरी मेटाडेटा का कलेक्शन होते हैं.
एसएक्सजी और वेब बंडल के बीच के संबंध को लेकर अक्सर भ्रम की स्थिति रहती है. एसएक्सजी और वेब बंडल, दो अलग-अलग टेक्नोलॉजी हैं. ये एक-दूसरे पर निर्भर नहीं हैं. वेब बंडल का इस्तेमाल, साइन किए हुए और साइन नहीं किए हुए, दोनों तरह के एक्सचेंज के साथ किया जा सकता है. एसएक्सजी और वेब बंडल, दोनों का एक सामान्य लक्ष्य है. वह है, "वेब पैकेजिंग" फ़ॉर्मैट बनाना. इससे साइटों को पूरी तरह से शेयर किया जा सकता है, ताकि उन्हें ऑफ़लाइन इस्तेमाल किया जा सके.
साइन किए हुए एक्सचेंज की मदद से, पेज लोड होने की स्पीड बढ़ाना
साइंड एक्सचेंज की सुविधा चालू करने से, वेब पेज की परफ़ॉर्मेंस को बेहतर बनाने में मदद मिल सकती है. इससे आपकी साइट के Core Web Vitals पर असर पड़ता है. खास तौर पर, सबसे बड़े एलिमेंट को रेंडर करने में लगने वाले समय (एलसीपी) पर. Google Search, एसएक्सजी का इस्तेमाल करने वाले शुरुआती प्लैटफ़ॉर्म में से एक है. यह एसएक्सजी का इस्तेमाल करके, खोज नतीजों के पेज से लोड होने वाले पेजों को तेज़ी से लोड करता है.
Google Search, एसएक्सजी उपलब्ध होने पर उन्हें क्रॉल और कैश मेमोरी में सेव करता है. साथ ही, यह उन एसएक्सजी को प्रीफ़ेच करता है जिन पर उपयोगकर्ता के जाने की संभावना होती है. उदाहरण के लिए, खोज के पहले नतीजे से जुड़ा पेज.
एसएक्सजी, परफ़ॉर्मेंस को ऑप्टिमाइज़ करने वाली अन्य तकनीकों के साथ मिलकर सबसे अच्छा काम करता है. जैसे, सीडीएन का इस्तेमाल करना और रेंडर-ब्लॉकिंग सब-रिसोर्स को कम करना. एसएक्सजी को लागू करने के बाद, इन सुझावों को अपनाएं, ताकि एसएक्सजी को पहले से फ़ेच करने से एलसीपी को ज़्यादा से ज़्यादा फ़ायदा मिल सके. कई मामलों में, इस तरह के ऑप्टिमाइज़ेशन से Google Search से आने वाले पेज तुरंत लोड हो सकते हैं:
साइन किए हुए एक्सचेंज का असर
पिछले एक्सपेरिमेंट से हमें पता चला है कि एसएक्सजी की मदद से पहले से फ़ेच किए गए पेजों के एलसीपी में, औसतन 300 मि॰से॰ से 400 मि॰से॰ की कमी आई है. इससे साइटें, उपयोगकर्ताओं पर बेहतर पहला इंप्रेशन डाल पाती हैं. साथ ही, इससे कारोबार की मेट्रिक पर अक्सर पॉज़िटिव असर पड़ता है.
दुनिया भर के कई ब्रैंड और साइटों को पहले ही साइन किए गए एक्सचेंज से फ़ायदा मिल चुका है. RebelMouse एक लोकप्रिय कॉन्टेंट मैनेजमेंट सिस्टम (सीएमएस) है. आइए, केस स्टडी के तौर पर देखते हैं कि साइन किए गए एक्सचेंज लागू करने से, RebelMouse को अपने ग्राहकों की परफ़ॉर्मेंस और कारोबार की मेट्रिक को बेहतर बनाने में कैसे मदद मिली:
- Narcity ने एलसीपी को 41% बेहतर बनाया
- Paper Magazine ने हर उपयोगकर्ता के हिसाब से सेशन में 27% की बढ़ोतरी देखी
- MLT ब्लॉग ने पेज लोड अवधि को 21% कम किया
Cloudflare को पता चला कि एसएक्सजी की मदद से, टेस्ट की गई 98% साइटों के लिए टीटीएफ़बी में सुधार हुआ. साथ ही, 85% साइटों के लिए एलसीपी में सुधार हुआ. एसएक्सजी की ज़रूरी शर्तें पूरी करने वाले पेज लोड होने में, औसतन 20% से ज़्यादा का सुधार हुआ.
इंडेक्स करना
Google Search, किसी पेज के एसएक्सजी और बिना एसएक्सजी वाले वर्शन को अलग-अलग रैंक या इंडेक्स नहीं करता. एसएक्सजी, कॉन्टेंट डिलीवर करने का एक तरीका है. इससे कॉन्टेंट में कोई बदलाव नहीं होता.
एएमपी
एसएक्सजी का इस्तेमाल करके, एएमपी कॉन्टेंट डिलीवर किया जा सकता है. एसएक्सजी की मदद से, एएमपी कॉन्टेंट को पहले से फ़ेच किया जा सकता है. साथ ही, इसे एएमपी यूआरएल के बजाय कैननिकल यूआरएल का इस्तेमाल करके दिखाया जा सकता है. एसएक्सजी जनरेट करने के लिए, एएमपी के पास अपना अलग टूल होता है. amp.dev पर जाकर, साइन किए हुए एक्सचेंज का इस्तेमाल करके एएमपी दिखाने का तरीका जानें.
Chrome DevTools की मदद से एसएक्सजी को डीबग करना
एसएक्सजी को खुद देखने के लिए, Chromium ब्राउज़र का इस्तेमाल करें. इसके बाद, DevTools खोलें, नेटवर्क पैनल खोलें, और खोज के नतीजे वाले इस पेज पर जाएं. साइंड एक्सचेंज की पहचान करने के लिए, टाइप कॉलम में signed-exchange देखें.
झलक टैब में, एसएक्सजी के कॉन्टेंट के बारे में ज़्यादा जानकारी मिलती है.
टूलिंग
एसएक्सजी लागू करने के लिए, किसी यूआरएल के लिए एसएक्सजी जनरेट करना होता है. इसके बाद, अनुरोध करने वाले लोगों या प्रोग्राम (आम तौर पर क्रॉलर) को वह एसएक्सजी दिखाना होता है.
प्रमाणपत्र
एसएक्सजी जनरेट करने के लिए, आपको एक ऐसे सर्टिफ़िकेट की ज़रूरत होगी जो एसएक्सजी पर हस्ताक्षर कर सके. हालांकि, कुछ टूल इन्हें अपने-आप हासिल कर लेते हैं. इस पेज पर, सर्टिफ़िकेट देने वाली उन संस्थाओं की सूची दी गई है जो इस तरह का सर्टिफ़िकेट जारी कर सकती हैं. किसी भी एसीएमई क्लाइंट का इस्तेमाल करके, Google की सर्टिफ़िकेट देने वाली संस्था से सर्टिफ़िकेट अपने-आप मिल सकते हैं. वेब पैकेज सर्वर में पहले से ही एसीएमई क्लाइंट मौजूद होता है. जल्द ही, sxg-rs में भी यह सुविधा उपलब्ध होगी.
प्लैटफ़ॉर्म के हिसाब से एसएक्सजी टूल
ये टूल, खास टेक्नोलॉजी स्टैक के साथ काम करते हैं. अगर पहले से ही किसी ऐसे प्लैटफ़ॉर्म का इस्तेमाल किया जा रहा है जो इनमें से किसी टूल के साथ काम करता है, तो आपको इसे सेट अप करना, अलग-अलग कामों के लिए इस्तेमाल किए जाने वाले टूल की तुलना में आसान लग सकता है.
sxg-rs/cloudflare_worker, Cloudflare Workers पर काम करता है.sxg-rs/fastly_compute, Fastly Compute@Edge पर काम करता है.अपने-आप जनरेट होने वाले साइन किए गए एक्सचेंज, Cloudflare की एक सुविधा है. यह अपने-आप सर्टिफ़िकेट हासिल करती है और साइन किए गए एक्सचेंज जनरेट करती है.
NGINX एसएक्सजी मॉड्यूल, nginx का इस्तेमाल करने वाली साइटों के लिए एसएक्सजी जनरेट करता है और उन्हें दिखाता है. सेटअप करने के निर्देश यहां देखे जा सकते हैं.
Envoy SXG फ़िल्टर, Envoy का इस्तेमाल करने वाली साइटों के लिए, SXG जनरेट करता है और उन्हें दिखाता है.
अलग-अलग कामों के लिए इस्तेमाल किया जाने वाला एसएक्सजी टूल
sxg-rs एचटीटीपी सर्वर
sxg-rs
http_server, एसएक्सजी दिखाने के लिए रिवर्स प्रॉक्सी के तौर पर काम करता है. एसएक्सजी क्रॉलर से मिलने वाले अनुरोधों के लिए, http_server बैकएंड से मिलने वाले रिस्पॉन्स पर साइन करेगा और एसएक्सजी के साथ जवाब देगा. इंस्टॉल करने के निर्देशों के लिए, README देखें.
वेब पैकेज सर्वर
वेब पैकेजर
सर्वर,
webpkgserver, sxg-rs http_server का एक विकल्प है. इसे Go में लिखा गया है. वेब पैकेजर सर्वर को सेट अप करने के निर्देश जानने के लिए, वेब पैकेजर का इस्तेमाल करके, साइन किए हुए एक्सचेंज को सेट अप करने का तरीका देखें.
Web Packager CLI
वेब पैकेजर सीएलआई, दिए गए यूआरएल के लिए एसएक्सजी जनरेट करता है.
webpackager \
--private\_key=private.key \
--cert\_url=https://example.com/certificate.cbor \
--url=https://example.com
एसएक्सजी फ़ाइल जनरेट होने के बाद, उसे अपने सर्वर पर अपलोड करें और application/signed-exchange;v=b3 एमआईएमई टाइप के साथ दिखाएं. इसके अलावा, आपको एसएक्सजी सर्टिफ़िकेट को application/cert-chain+cbor के तौर पर उपलब्ध कराना होगा.
एसएक्सजी लाइब्रेरी
इन लाइब्रेरी का इस्तेमाल करके, अपना एसएक्सजी जनरेटर बनाया जा सकता है:
sxg_rs, SXG जनरेट करने के लिए एक Rust लाइब्रेरी है. यह सबसे ज़्यादा सुविधाओं वाली एसएक्सजी लाइब्रेरी है. इसका इस्तेमाल,cloudflare_workerऔरfastly_computeटूल के लिए आधार के तौर पर किया जाता है.libsxg, SXG जनरेट करने के लिए एक छोटी C लाइब्रेरी है. इसका इस्तेमाल, NGINX एसएक्सजी मॉड्यूल और Envoy एसएक्सजी फ़िल्टर के लिए आधार के तौर पर किया जाता है.go/signed-exchange, Go लाइब्रेरी का एक छोटा वर्शन है. इसे वेबपैकेज की खास जानकारी के तौर पर उपलब्ध कराया जाता है. यह एसएक्सजी जनरेट करने के लिए, रेफ़रंस इंप्लिमेंटेशन के तौर पर काम करता है. इसका इस्तेमाल, रेफ़रंस सीएलआई टूलgen-signedexchangeऔर ज़्यादा सुविधाओं वाले वेब पैकेज टूल के लिए किया जाता है.
कॉन्टेंट नेगोशिएशन
सर्वर को एसएक्सजी तब दिखाना चाहिए, जब Accept हेडर से यह पता चले कि application/signed-exchange के लिए q-वैल्यू, text/html के लिए q-वैल्यू से ज़्यादा या उसके बराबर है. इसका मतलब है कि मूल सर्वर, क्रॉलर को एसएक्सजी दिखाएगा, लेकिन ब्राउज़र को नहीं. ऊपर दिए गए कई टूल, डिफ़ॉल्ट रूप से ऐसा करते हैं. हालांकि, अन्य टूल के लिए, इस रेगुलर एक्सप्रेशन का इस्तेमाल करके, उन अनुरोधों के Accept हेडर से मैच किया जा सकता है जिन्हें एसएक्सजी के तौर पर दिखाया जाना चाहिए:
http
Accept: /(^|,)\s\*application\/signed-exchange\s\*;\s\*v=[[:alnum:]\_-]+\s\*(,|$)/
इस सुझाव में Apache और nginx के उदाहरण शामिल हैं.
कैश मेमोरी एपीआई को अपडेट करना
Google SXG Cache में एक एपीआई होता है. साइट के मालिक इसका इस्तेमाल करके, एसएक्सजी को कैश मेमोरी से हटा सकते हैं. ऐसा वे Cache-Control: max-age की वजह से, एसएक्सजी की समयसीमा खत्म होने से पहले कर सकते हैं. ज़्यादा जानकारी के लिए, कैश मेमोरी को अपडेट करने वाले एपीआई का संदर्भ देखें.
एसएक्सजी से लिंक करना
कोई भी साइट, लिंक किए गए पेजों के एसएक्सजी को कैश मेमोरी में सेव कर सकती है, उन्हें सर्व कर सकती है, और प्रीफ़ेच कर सकती है. इसके लिए, उसे और टैग का इस्तेमाल करना होगा:
html
<a href="https://example.com/article.html.sxg">
<link rel="prefetch" as="document" href="https://example.com/article.html.sxg">
इस लेख में बताया गया है कि एसएक्सजी को डिस्ट्रिब्यूट करने के लिए, nginx का इस्तेमाल कैसे किया जाता है.
खास फ़ायदे
क्रॉस-ऑरिजिन प्रीफ़ेचिंग की सुविधा चालू करने के लिए, एसएक्सजी कई संभावित टेक्नोलॉजी में से एक है. यह तय करते समय कि किस टेक्नोलॉजी का इस्तेमाल करना है, आपको अलग-अलग पहलुओं को ऑप्टिमाइज़ करने के बीच समझौता करना पड़ सकता है. यहां दिए गए सेक्शन में, SXG की कुछ ऐसी खास वैल्यू के बारे में बताया गया है जो संभावित समाधानों के दायरे में आती हैं. उपलब्ध समाधानों के स्पेस में बदलाव होने पर, ये फ़ैक्टर समय के साथ बदल सकते हैं.
विज्ञापन दिखाने के लिए कम अनुरोध
क्रॉस-साइट प्रीफ़ेचिंग की सुविधा चालू होने पर, हो सकता है कि आपके सर्वर को अतिरिक्त अनुरोधों को पूरा करना पड़े. यह उन मामलों से जुड़ा है जहां किसी पेज को पहले से फ़ेच किया गया था, लेकिन उपयोगकर्ता ने उस पेज पर विज़िट नहीं किया या पहले से फ़ेच किए गए बाइट, उपयोगकर्ता को नहीं दिखाए जा सके. एसएक्सजी के लिए, इस्तेमाल न किए गए इन अतिरिक्त अनुरोधों को काफ़ी हद तक कम किया जा सकता है:
- एसएक्सजी को कैश मेमोरी में सेव किया जाता है. साथ ही, उन्हें एक्सपायर होने तक उपयोगकर्ताओं को भेजा जा सकता है. इस तरह, कई प्रीफ़ेच को सिर्फ़ कैश सर्वर से मैनेज किया जा सकता है.
- एसएक्सजी, आपकी साइट पर कुकी इस्तेमाल करने वाले और कुकी इस्तेमाल न करने वाले, दोनों तरह के उपयोगकर्ताओं को दिखाए जा सकते हैं. इसलिए, नेविगेशन के बाद पेज को फिर से फ़ेच करने की ज़रूरत कम पड़ती है.
पेज स्पीड में सुधार
प्रीफ़ेच की सुविधा और इसके साथ काम करने वाली सुविधाओं की वजह से, आपको पेज स्पीड में और सुधार दिख सकता है:
- एसएक्सजी, उन उपयोगकर्ताओं को दिखाए जा सकते हैं जिनके ब्राउज़र पर आपकी साइट के लिए कुकी सेव हैं.
- एसएक्सजी, आपके पेजों के लिए सब-रिसॉर्स को भी पहले से फ़ेच करता है. जैसे, JavaScript, सीएसएस, फ़ॉन्ट, और इमेज. ऐसा तब होता है, जब
Linkहेडर का इस्तेमाल करके सब-रिसॉर्स के बारे में बताया गया हो. - आने वाले समय में, Google Search से एसएक्सजी प्रीफ़ेच करने की सुविधा, खोज के ज़्यादा नतीजों के लिए उपलब्ध होगी.
नतीजा
साइंड एक्सचेंज, डिलीवरी का एक तरीका है. इसकी मदद से, किसी संसाधन के सोर्स और उसकी वैधता की पुष्टि की जा सकती है. इससे कोई फ़र्क़ नहीं पड़ता कि संसाधन को कैसे डिलीवर किया गया था. इस वजह से, तीसरे पक्ष के लोग या कंपनियां, एसएक्सजी को डिस्ट्रिब्यूट कर सकती हैं. साथ ही, पब्लिशर को पूरा एट्रिब्यूशन भी मिलता है.