Cross-Origin Storage API: फाइलों को दो बार डाउनलोड करना बंद करें
Cross-Origin Storage API ब्राउज़र्स को दो साइटों के बीच 33 GB का AI मॉडल साझा करने की अनुमति दे सकता है, जिससे आपका डाउनलोड डेटा 66 GB से घटकर 33 GB रह जाएगा।
ब्राउज़र्स पहले किसी भी साइट को उस फ़ाइल का पुन: उपयोग करने देते थे जिसे किसी अन्य साइट ने पहले ही फ़ेच (fetch) कर लिया हो। यदि आप दो पेजों पर एक ही CDN से React bundle लोड करते हैं, तो ब्राउज़र दूसरी बार कैश की गई कॉपी ही सर्व करता है। गोपनीयता (privacy) पर केंद्रित बदलावों की एक श्रृंखला ने इस सुविधा को बाधित कर दिया है: अब ब्राउज़र्स कैश को साइट के आधार पर विभाजित (partition) करते हैं, जिससे समान URL भी प्रत्येक ओरिजिन (origin) के लिए अलग-अलग संग्रहीत किए जाते हैं। इसका परिणाम यह है कि एक से अधिक साइटों पर दिखने वाली हर बड़ी एसेट (asset) के लिए डुप्लिकेट ट्रैफिक उत्पन्न होता है।
डुप्लिकेट-डाउनलोड की समस्या अभी क्यों महत्वपूर्ण है
यह बर्बादी छोटी फ़ाइलों—जैसे वेब फ़ॉन्ट्स या कुछ मेगाबाइट के JavaScript—के साथ दिखाई देती है, लेकिन जब एसेट कई गीगाबाइट का AI मॉडल या WebAssembly मॉड्यूल होता है, तो यह समस्या बहुत बढ़ जाती है।
Cross-Origin Storage (COS) API कैसे काम करता है
यह प्रस्ताव URL-आधारित लुकअप को कंटेंट-एड्रेस्ड (content-addressed) लुकअप से बदल देता है। एक साइट उस फ़ाइल का SHA-256 हैश प्रदान करती है जिसे वह चाहती है। ब्राउज़र अपने लोकल स्टोर में उस सटीक हैश की जाँच करता है, चाहे उसे मूल रूप से किसी भी ओरिजिन ने फ़ेच किया हो। यदि फ़ाइल मौजूद है, तो ब्राउज़र उसे दे देता है; यदि नहीं, तो वह नेटवर्क से फ़ाइल फ़ेच करता है और भविष्य में क्रॉस-ओरिजिन पुन: उपयोग के लिए उसे उस हैश के तहत संग्रहीत कर लेता है।
- हैश द्वारा पहचान। हैश फ़ाइल के बाइट्स का अनूठे रूप से प्रतिनिधित्व करता है, उसके स्थान का नहीं।
- क्रॉस-ओरिजिन एक्सेस। कोई भी साइट जिसे हैश पता है, वह फ़ाइल का अनुरोध कर सकती है, भले ही वह कहीं और से आई हो।
- लोकल कैश शेयरिंग। एक ही फिजिकल कॉपी कई अनुरोधों को पूरा करती है।
यह API जानबूझकर सीमित रखा गया है: यह मौजूदा Cache API या IndexedDB को प्रतिस्थापित नहीं करता है। वे सामान्य उद्देश्य के स्टोरेज के लिए उपकरण बने रहेंगे; COS बड़े, समान ब्लॉब्स (blobs) के लिए एक एकल-उद्देश्य वाला शॉर्टकट है।
डिज़ाइन में निर्मित गोपनीयता सुरक्षा उपाय
साइटों को उपयोगकर्ता के कैश की जांच करने की अनुमति देने से वे ट्रैकिंग वेक्टर फिर से आ सकते हैं जिन्हें विभाजित कैश (partitioned caches) को रोकने के लिए बनाया गया था। COS तीन नियमों के साथ उस जोखिम को रोकता है:
- कोई एन्यूमरेशन (enumeration) नहीं। स्क्रिप्ट यह नहीं पूछ सकतीं कि "आपके पास कौन से हैश हैं?"—स्टोरेज अपारदर्शी (opaque) है।
- ज्ञात-हैश की आवश्यकता। एक साइट फ़ाइल का अनुरोध तभी कर सकती है जब उसे पहले से सटीक हैश पता हो। पूर्व ज्ञान के बिना रैंडम प्रोबिंग (probing) असंभव है।
- ग्लोबल एक्सेस के लिए लोकप्रियता की सीमा। किसी अन्य ओरिजिन द्वारा फ़ाइल प्राप्त करने से पहले, फ़ाइल का पर्याप्त रूप से सामान्य—यानी "अनाम" (anonymous)—होना आवश्यक है। दुर्लभ फ़ाइलें उसी ओरिजिन तक सीमित रहती हैं जिसने उन्हें पहली बार डाउनलोड किया था।
ये सीमाएं API को वास्तव में साझा की जाने वाली एसेट्स के लिए उपयोगी बनाए रखती हैं, जबकि इसे फिंगरप्रिंटिंग (fingerprinting) के लिए एक साइड चैनल बनने से रोकती हैं।
आगे क्या देखने की आवश्यकता है
Cross-Origin Storage API उस समस्या का एक सीधा समाधान प्रदान करता है जो ब्राउज़र के भीतर विशाल एसेट्स के साथ बढ़ी है। क्या वेब समुदाय बैंडविड्थ दक्षता और गोपनीयता की गारंटी (जिसने कैश विभाजन को प्रेरित किया था) के बीच संतुलन बना सकता है, यही तय करेगा कि यह विचार ड्राफ्ट चरण से आगे बढ़ेगा या नहीं। यदि ऐसा होता है, तो भविष्य के ब्राउज़र आपको एक बार 30-प्लस-गीगाबाइट का AI मॉडल डाउनलोड करने और उसे हर जगह पुन: उपयोग करने की अनुमति दे सकते हैं—जिससे समय, डेटा और ऊर्जा की बचत होगी।
