क्रॉस ओरिजिन स्टोरेज API: फाईल्स दोनदा डाउनलोड करणे थांबवा
क्रॉस-ओरिजिन स्टोरेज API मुळे ब्राउझर्स दोन साइट्समध्ये ३३ GB चा AI मॉडेल शेअर करू शकतील, ज्यामुळे तुमचा डाउनलोड होणारा डेटा ६६ GB वरून ३३ GB पर्यंत कमी होईल.
ब्राउझर्स पूर्वी कोणत्याही साइटला अशी फाईल पुन्हा वापरण्याची परवानगी देत असत जी दुसऱ्या साइटने आधीच फेच (fetch) केली आहे. जर तुम्ही दोन पेजेसवर एकाच CDN वरून तोच React bundle लोड केला, तर ब्राउझर दुसऱ्यांदा कॅश केलेली प्रत (cached copy) प्रदान करतो. परंतु, गोपनीयतेवर (privacy) लक्ष केंद्रित करणाऱ्या काही बदलांमुळे ही सोय बाधित झाली आहे: आता ब्राउझर्स कॅशेला साइटनुसार विभागतात (partition), त्यामुळे अगदी सारख्याच URLs देखील प्रत्येक ओरिजिनसाठी स्वतंत्रपणे साठवल्या जातात. परिणामी, एकापेक्षा जास्त साइट्सवर दिसणाऱ्या प्रत्येक मोठ्या ॲसेटसाठी (asset) डुप्लिकेट ट्रॅफिक निर्माण होते.
डुप्लिकेट-डाउनलोडची समस्या आता का महत्त्वाची आहे
ही वाया जाणारी संसाधने लहान फाईल्समध्ये—जसे की वेब फॉन्ट्स किंवा काही मेगाबाइटचे JavaScript—दिसतात, परंतु जेव्हा ॲसेट एखादा मल्टी-गीगाबाइटचा AI मॉडेल किंवा WebAssembly मॉड्यूल असतो, तेव्हा ही समस्या प्रचंड वाढते.
क्रॉस-ओरिजिन स्टोरेज (COS) API कसे काम करते
हा प्रस्ताव URL-आधारित शोध (lookup) बदलून कंटेंट-ॲड्रेस्ड (content-addressed) शोध पद्धतीचा वापर करतो. एखादी साइट तिला हव्या असलेल्या फाईलचा SHA-256 hash पुरवते. ब्राउझर त्याच्या स्थानिक स्टोअरमध्ये त्या नेमक्या hash साठी तपासणी करतो, ती फाईल मूळतः कोणत्या ओरिजिनने फेच केली होती याने फरक पडत नाही. जर फाईल उपलब्ध असेल, तर ब्राउझर ती प्रदान करतो; नसेल तर, तो नेटवर्कवरून फाईल फेच करतो आणि भविष्यातील क्रॉस-ओरिजिन पुनर्वापरासाठी ती त्या hash अंतर्गत साठवतो.
- hash द्वारे ओळख. hash फाईलच्या लोकेशनऐवजी तिच्या bytes चे युनिक प्रतिनिधित्व करतो.
- क्रॉस-ओरिजिन ॲक्सेस. ज्या साइटला hash माहित आहे ती फाईलची विनंती करू शकते, जरी ती फाईल दुसऱ्या कुठूनही आली असली तरीही.
- लोकल कॅशे शेअरिंग. एकच फिजिकल कॉपी अनेक विनंत्या पूर्ण करते.
हे API जाणीवपूर्वक मर्यादित ठेवण्यात आले आहे: ते विद्यमान Cache API किंवा IndexedDB ची जागा घेत नाही. ती साधने सामान्य उद्देशाच्या स्टोरेजसाठी कायम राहतील; COS हे केवळ मोठ्या आणि समान blobs साठी एक सिंगल-पर्पज शॉर्टकट आहे.
डिझाइनमध्ये समाविष्ट केलेले गोपनीयता संरक्षण (Privacy safeguards)
साइट्सना वापरकर्त्याच्या कॅशेची तपासणी (probe) करण्याची परवानगी दिल्यास, ट्रॅकिंगचे असे मार्ग पुन्हा सुरू होऊ शकतात जे थांबवण्यासाठी कॅशे पार्टिशनिंग करण्यात आले होते. COS तीन नियमांद्वारे तो धोका रोखते:
- एन्युमरेशन नाही (No enumeration). स्क्रिप्ट्स “तुमच्याकडे कोणते hashes आहेत?” असे विचारू शकत नाहीत—स्टोरेज अपारदर्शक (opaque) आहे.
- ज्ञात-hash ची आवश्यकता. एखादी साइट फाईलची विनंती तेव्हाच करू शकते जेव्हा तिला नेमका hash आधीच माहित असेल. पूर्व माहितीशिवाय रँडम प्रोबिंग (random probing) करणे अशक्य आहे.
- ग्लोबल ॲक्सेससाठी लोकप्रियतेची मर्यादा. एखादा वेगळा ओरिजिन फाईल मिळवण्यापूर्वी ती फाईल पुरेशी सामान्य—म्हणजेच “अनामित” (anonymous)—असणे आवश्यक आहे. दुर्मिळ फाईल्स ज्या ओरिजिनने त्या पहिल्यांदा डाउनलोड केल्या आहेत, तिथेच मर्यादित राहतात.
ही मर्यादा API ला खरोखर शेअर केलेल्या ॲसेट्ससाठी उपयुक्त ठेवते आणि त्याच वेळी त्याला फिंगरप्रिंटिंगसाठी (fingerprinting) साईड चॅनेल बनण्यापासून रोखते.
पुढे काय पाहायचे
क्रॉस-ओरिजिन स्टोरेज API ब्राउझरमधील मोठ्या ॲसेट्समुळे निर्माण झालेल्या समस्येवर एक सरळ उपाय प्रदान करते. वेब समुदाय बँडविड्थ कार्यक्षमता (bandwidth efficiency) आणि कॅशे पार्टिशनिंगसाठी आवश्यक असलेली गोपनीयता हमी (privacy guarantees) यांच्यात संतुलन राखू शकेल का, यावर ही कल्पना मसुदा (draft) टप्प्यापलीकडे जाईल की नाही हे अवलंबून असेल. जर तसे झाले, तर भविष्यातील ब्राउझर्स तुम्हाला ३० पेक्षा जास्त GB चा AI मॉडेल एकदाच डाउनलोड करण्याची आणि ते सर्वत्र पुन्हा वापरण्याची परवानगी देऊ शकतील—ज्यामुळे वेळ, डेटा आणि ऊर्जा वाचेल.
