Cross Origin Storage API: ફાઇલો બે વાર ડાઉનલોડ કરવાનું બંધ કરો
Cross-Origin Storage API બ્રાઉઝર્સને બે સાઇટ્સ વચ્ચે 33 GB AI મોડલ શેર કરવાની મંજૂરી આપી શકે છે, જેનાથી તમે ડાઉનલોડ કરવામાં આવતો ડેટા 66 GB થી ઘટાડીને 33 GB કરી શકાય છે.
બ્રાઉઝર્સ પહેલાં કોઈપણ સાઇટને એવી ફાઇલ ફરીથી વાપરવા દેતા હતા જે બીજી સાઇટે પહેલેથી જ ફેચ (fetch) કરી હોય. જો તમે બે પેજ પર CDN પરથી સમાન React bundle લોડ કરો છો, તો બ્રાઉઝર બીજી વખત કેશ્ડ (cached) કોપી સર્વ કરે છે. પ્રાઇવસી-કેન્દ્રિત ફેરફારોની એક શ્રેણીએ આ સુવિધાને તોડી નાખી છે: બ્રાઉઝર્સ હવે સાઇટ મુજબ કેશને વિભાજિત (partition) કરે છે, તેથી સમાન URL હોવા છતાં દરેક ઓરિજિન (origin) માટે તેને અલગ રીતે સંગ્રહિત કરવામાં આવે છે. પરિણામે, એકથી વધુ સાઇટ્સ પર દેખાતી દરેક મોટી એસેટ (asset) માટે ડુપ્લીકેટ ટ્રાફિક પેદા થાય છે.
ડુપ્લીકેટ-ડાઉનલોડની સમસ્યા અત્યારે કેમ મહત્વની છે
આ બગાડ નાની ફાઇલો—જેમ કે વેબ ફોન્ટ્સ અથવા થોડા મેગાબાઇટ્સના JavaScript—સાથે દેખાય છે, પરંતુ જ્યારે એસેટ મલ્ટી-ગીગાબાઇટ AI મોડલ અથવા WebAssembly મોડ્યુલ હોય ત્યારે તે ખૂબ વધી જાય છે.
Cross-Origin Storage (COS) API કેવી રીતે કામ કરે છે
આ પ્રસ્તાવ URL-આધારિત લુકઅપને બદલે કન્ટેન્ટ-આધારિત લુકઅપનો ઉપયોગ કરે છે. સાઇટ જે ફાઇલ ઈચ્છે છે તેનો SHA-256 hash સપ્લાય કરે છે. બ્રાઉઝર તેના લોકલ સ્ટોરમાં તે ચોક્કસ hash તપાસે છે, પછી ભલે તે મૂળરૂપે કયા ઓરિજિન દ્વારા ફેચ કરવામાં આવ્યું હોય. જો ફાઇલ હાજર હોય, તો બ્રાઉઝર તે આપી દે છે; જો ન હોય, તો તે નેટવર્ક પરથી ફાઇલ ફેચ કરે છે અને ભવિષ્યમાં cross-origin ફરીથી ઉપયોગ કરવા માટે તે hash હેઠળ સંગ્રહિત કરે છે.
- Hash દ્વારા ઓળખ. Hash ફાઇલના બાઇટ્સનું અનન્ય રીતે પ્રતિનિધિત્વ કરે છે, તેના લોકેશનનું નહીં.
- Cross-origin એક્સેસ. જે સાઇટ પાસે hash હોય તે ફાઇલ માટે વિનંતી કરી શકે છે, ભલે તે અન્ય ક્યાંકથી આવી હોય.
- Local cache શેરિંગ. એક જ ભૌતિક કોપી અનેક વિનંતીઓને સંતોષે છે.
આ API જાણીજોઈને મર્યાદિત રાખવામાં આવ્યું છે: તે હાલના Cache API અથવા IndexedDB ને બદલે આવતું નથી. તે સામાન્ય હેતુના સ્ટોરેજ માટેના સાધનો તરીકે રહેશે; COS એ મોટા, સમાન બ્લોબ્સ (blobs) માટે સિંગલ-પર્પઝ શોર્ટકટ છે.
ડિઝાઇનમાં સમાવિષ્ટ પ્રાઇવસી સુરક્ષા વ્યવસ્થાઓ
સાઇટ્સને યુઝરના કેશને તપાસવાની મંજૂરી આપવાથી તે ટ્રેકિંગ વેક્ટર્સ ફરીથી આવી શકે છે જેને partitioned caches બનાવવામાં આવ્યા હતા. COS ત્રણ નિયમો સાથે તે જોખમને અટકાવે છે:
- No enumeration. સ્ક્રિપ્ટ્સ “તમારી પાસે કયા hashes છે?” એવું પૂછી શકતી નથી—સ્ટોરેજ અસ્પષ્ટ (opaque) છે.
- Known-hash requirement. સાઇટ ફાઇલ માટે વિનંતી ત્યારે જ કરી શકે જો તેને ચોક્કસ hash પહેલેથી જ ખબર હોય. પૂર્વ જાણકારી વગર રેન્ડમ પ્રોબિંગ અશક્ય છે.
- Global access માટે પોપ્યુલારિટી થ્રેશોલ્ડ. અન્ય ઓરિજિન તેને મેળવી શકે તે પહેલાં ફાઇલ પૂરતી સામાન્ય—એટલે કે, "અનામી" (anonymous)—હોવી જોઈએ. દુર્લભ ફાઇલો તે ઓરિજિન સુધી જ મર્યાદિત રહેશે જેણે તેને સૌપ્રથમ ડાઉનલોડ કરી હતી.
આ મર્યાદાઓ API ને ખરેખર શેર કરેલી એસેટ્સ માટે ઉપયોગી રાખે છે અને તેને ફિંગરપ્રિન્ટિંગ (fingerprinting) માટે સાઇડ ચેનલ બનતા અટકાવે છે.
આગળ શું જોવું
Cross-Origin Storage API એ સમસ્યાનો સીધો ઉકેલ આપે છે જે બ્રાઉઝરની વિશાળ એસેટ્સ સાથે વધી રહી છે. વેબ સમુદાય બેન્ડવિડ્થ કાર્યક્ષમતા અને કેશ પાર્ટિશનિંગ માટેના પ્રાઇવસી ગેરંટી વચ્ચે સંતુલન જાળવી શકશે કે નહીં, તેના પરથી નક્કી થશે કે આ વિચાર ડ્રાફ્ટ સ્ટેજથી આગળ વધશે કે નહીં. જો તે આગળ વધશે, તો ભવિષ્યના બ્રાઉઝર્સ તમને 30 થી વધુ GB નું AI મોડલ એકવાર ડાઉનલોડ કરવા અને તેને બધે જ ફરીથી વાપરવા દેશે—જેનાથી સમય, ડેટા અને ઉર્જાની બચત થશે.
