पब्लिश होने की तारीख: 10 नवंबर, 2026
आधुनिक वेब ऐप्लिकेशन अक्सर बड़ी एसेट पर निर्भर करते हैं. जैसे, JavaScript फ़्रेमवर्क, गेम इंजन, और एआई मॉडल. भले ही साइटें एक जैसी ऐसेट का इस्तेमाल कर रही हों, लेकिन हर साइट को हर ऐसेट की अपनी कॉपी डाउनलोड और सेव करनी होगी.
क्रॉस-ऑरिजिन स्टोरेज एपीआई (सीओएस) की मदद से, क्लाइंट अपने हैश के हिसाब से वह कॉन्टेंट तय करता है जिसे वह ढूंढ रहा है. इसके बाद, वह उसे किसी भी यूआरएल से फ़ेच करता है, ताकि उसे चुनिंदा साइटों (या सभी साइटों) पर शेयर किया जा सके. इसका मतलब है कि किसी सटीक और जाने-पहचाने संसाधन को साइटों के बीच शेयर किया जा सकता है. इसके लिए, ऐसेट को दिखाने की ज़रूरत नहीं होती. इस प्रस्ताव से सुरक्षा से जुड़े फ़ायदे और चुनौतियां भी सामने आती हैं.
उपयोग के उदाहरण
हमने कैश मेमोरी स्टोरेज एपीआई की मदद से, मॉडल को कैश मेमोरी में सेव करने और किसी भी ऐसेट को कैश मेमोरी में सेव करने की अहमियत के बारे में विस्तार से बताया है. क्रॉस-ऑरिजिन स्टोरेज API, एक कदम आगे बढ़कर काम करता है. यह तब फ़ायदेमंद हो सकता है, जब मिलती-जुलती (या अन्य) कई वेबसाइटों को एक ही रिसॉर्स का ऐक्सेस चाहिए:
- एआई मॉडल: Gemma या Llama के वैरिएंट जैसे मॉडल का साइज़, करीब एक गीगाबाइट से लेकर कई गीगाबाइट तक हो सकता है. सीओएस की मदद से, एक कॉपी को सेव और वापस पाने से, डुप्लीकेट फ़ाइलों को डाउनलोड करने से बचा जा सकता है. इस प्रस्ताव के पीछे यह एक बड़ी वजह है.
- Wasm मॉड्यूल: Flutter जैसे फ़्रेमवर्क, Wasm फ़ाइलें शिप करते हैं. इन फ़ाइलों के लिए, हर दिन हज़ारों अलग-अलग ऑरिजिन से लाखों बार अनुरोध किया जाता है. ये फ़ाइलें हमेशा बाइट-आइडेंटिकल होती हैं.
- लोकप्रिय JavaScript लाइब्रेरी और फ़्रेमवर्क: वेंडर कोड को अलग से और पूरी तरह से बंडल करने (जैसे कि पूरी, अनट्रीशेकन React लाइब्रेरी) से, कई ऐप्लिकेशन सीओसी के ज़रिए कैश मेमोरी में सेव की गई एक कॉपी शेयर कर सकते हैं.
- गेम इंजन: Godot या Unity जैसे इंजन पर बनाए गए ब्राउज़र गेम, सीओएस के ज़रिए इंजन रनटाइम को शेयर कर सकते हैं. साथ ही, नेटवर्क पर सिर्फ़ गेम से जुड़ी ऐसेट फ़ेच कर सकते हैं. अलग-अलग ऑरिजिन या iframe पर कई कैज़ुअल गेम होस्ट करने वाले गेमिंग पोर्टल को सबसे ज़्यादा फ़ायदा होता है.
- बड़े वेब फ़ॉन्ट: आइकॉन फ़ॉन्ट, इमोजी फ़ॉन्ट, और बड़े यूनिकोड कवरेज वाले फ़ॉन्ट, कई पेजों पर डाउनलोड किए जाते हैं. सीओएस के ज़रिए उन्हें एक बार शेयर करने से, परफ़ॉर्मेंस और सस्टेनेबिलिटी, दोनों में मदद मिलती है.
सीओएस के साथ काम करने का बुनियादी तरीका
सीओएस एपीआई, navigator.crossOriginStorage.getFileHandle() तरीका उपलब्ध कराता है. इसकी मदद से, वेब ऐप्लिकेशन अलग-अलग ऑरिजिन की सीमाओं के पार फ़ाइलों को सेव और वापस पा सकते हैं. इन फ़ाइलों की पहचान, क्रिप्टोग्राफ़िक हैश से की जाती है. इस दस्तावेज़ में एक उदाहरण दिया गया है, जिसमें एपीआई के साथ काम करने का बुनियादी तरीका बताया गया है.
इसे आज ही आज़माएँ
फ़िलहाल, सीओएस के साथ एक्सपेरिमेंट करने के दो तरीके हैं:
- Chrome Web Store, Firefox Add-ons या Safari App Store से ब्राउज़र एक्सटेंशन इंस्टॉल करें, ताकि एपीआई और सभी इंटिग्रेशन को पॉलीफ़िल किया जा सके. एपीआई फ़्लो को किसी भी ब्राउज़र में टेस्ट किया जा सकता है. इसके अलावा, एक्सटेंशन को उसके सोर्स कोड से अनपैक करके लोड करें.
- Chromium में एक्सपेरिमेंट: Chromium में एक्सपेरिमेंट के तौर पर लागू किया गया है. Apple Silicon या Linux x86_64 पर macOS के लिए, इसे goo.gle/cos-chromium से डाउनलोड करें. इसके बाद,
about://flagsखोलें और "क्रॉस-ऑरिजिन स्टोरेज" खोजें. फिर, इसे चालू है पर सेट करें और पूछे जाने पर रीस्टार्ट करें. इस बिल्ड में DevTools इंटिग्रेशन शामिल है: ऐप्लिकेशन टैब में जाकर, क्रॉस-ऑरिजिन स्टोरेज ढूंढें.
ईकोसिस्टम में दिलचस्पी
सीओएस, शुरुआती चरण का एक प्रस्ताव है. कई प्रोजेक्ट पहले से ही एक्सपेरिमेंट के तौर पर सहायता उपलब्ध कराते हैं. आम तौर पर, यह सहायता ऑप्ट-इन फ़्लैग के पीछे होती है और इसे परतदार वृद्धि के तौर पर लेयर किया जाता है:
- Emscripten, जनरेट किए गए Wasm आउटपुट को शेयर करता है.
- Flutter, Skia Wasm रनटाइम शेयर करता है.
- Transformers.js, मॉडल के वेट और उन Wasm रनटाइम को शेयर करता है जिन पर वे निर्भर करते हैं.
- WebLLM, मॉडल और रनटाइम शेयर करता है.
- wllama, एआई मॉडल शेयर करता है.
- Nuxt.js, क्रॉस-ऑरिजिन स्टोरेज से शेयर की गई डिपेंडेंसी लोड करता है और Vite COS प्लग इन को मैनेज करता है.
- Prompt API Polyfill, अपने WebLLM और Transformers.js बैकएंड पर एआई मॉडल शेयर करता है.
- Prebid.js में हेडर बिडिंग लाइब्रेरी का सीडीएन डिस्ट्रिब्यूशन होता है, जो सीओपीए के मुताबिक होता है.
स्टैंडर्डाइज़ेशन
क्रॉस-ऑरिजिन स्टोरेज, WICG का शुरुआती चरण का प्रस्ताव है. W3C TAG डिज़ाइन की समीक्षा को पहले ही पढ़ा जा सकता है.
- होस्ट इंटिग्रेशन, स्टैंडर्ड तय करने वाली अपनी-अपनी संस्थाओं के साथ फ़ाइल किए जाते हैं:
crossoriginstorageएट्रिब्यूट औरcrossOriginStorageइंपोर्ट एट्रिब्यूट, WHATWG एचटीएमएल स्टैंडर्ड के साथ काम करते हैंcross-origin-storage()with the CSS Working GroupcrossOriginStorageअनुरोध विकल्प
- क्रॉस-ब्राउज़र वेब प्लैटफ़ॉर्म टेस्ट (इस पर काम जारी है)
- Mozilla और WebKit से स्टैंडर्ड पोज़िशन का अनुरोध किया गया है.
एपीआई और प्रस्ताव के बारे में सुझाव, राय या शिकायत का स्वागत है. क्रॉस-ऑरिजिन स्टोरेज रिपॉज़िटरी में जाकर, समस्याएं दर्ज की जा सकती हैं, सहायता दिखाई जा सकती है या पुल के अनुरोध खोले जा सकते हैं.
संसाधन
- क्रॉस-ऑरिजिन स्टोरेज एपीआई के बारे में जानकारी और स्पेसिफ़िकेशन का ड्राफ़्ट पढ़ें.
- Chrome में सीओआरएस को लागू करने की प्रोसेस को फ़ॉलो करें. इसके लिए, क्रॉस-ऑरिजिन स्टोरेज से जुड़ी गड़बड़ी और उस पर निर्भर अन्य गड़बड़ियों को स्टार करें.
- पब्लिक हैश लिस्ट के बारे में जानकारी देखें.
- सीओएस की सुरक्षा और निजता से जुड़े सवालों की सूची का जवाब दें.
- Intent to Prototype और Chrome Platform Status एंट्री देखें.
इसके अलावा, यह टूल और डेमो देखें:
इस बारे में ज़्यादा जानकारी
- कैश मेमोरी को अलग-अलग हिस्सों में बांटकर, सुरक्षा और निजता को बेहतर बनाना
- Transformers.js में, सुझाए गए क्रॉस-ऑरिजिन स्टोरेज एपीआई के साथ एक्सपेरिमेंट करना
- एचटीटीपी कैश मेमोरी का बंटवारा: एक ही इमेज को दो बार डाउनलोड किया गया, लेखक: जोन लियोन
- क्रॉस-ऑरिजिन स्टोरेज एपीआई: दोबारा डाउनलोड करना बंद करें, डेनिस मोरेलो ने लिखा है
- मैं चाहता था कि ब्राउज़र सिर्फ़ jQuery को शिप करे. अहमद अल्फ़ी का लेख, क्रॉस-ऑरिजिन स्टोरेज बचाव के लिए आया
टॉक शो और पॉडकास्ट
- ShopTalk Show 732: थॉमस स्टाइनर ने नए क्रॉस-ऑरिजिन स्टोरेज एपीआई के बारे में बताया (पॉडकास्ट)
- Working Draft 723: क्रॉस-ऑरिजिन Storage API (जर्मन भाषा में पॉडकास्ट)
- WeAreDevelopers: क्रॉस-ऑरिजिन स्टोरेज क्या है (पॉडकास्ट)
- JSNation US 2026 में क्रॉस-ऑरिजिन स्टोरेज: वेब के लिए शेयर की गई कैश मेमोरी