Cross Origin Storage API: ఫైళ్లను రెండుసార్లు డౌన్‌లోడ్ చేయడం ఆపండి

Cross-Origin Storage API ద్వారా బ్రౌజర్‌లు రెండు సైట్ల మధ్య 33 GB AI మోడల్‌ను పంచుకోవచ్చు, దీనివల్ల మీరు డౌన్‌లోడ్ చేసే డేటా 66 GB నుండి 33 GBకి తగ్గుతుంది.

గతంలో బ్రౌజర్‌లు ఒక సైట్ ఇప్పటికే ఫెచ్ చేసిన ఫైల్‌ను ఏ సైట్ అయినా మళ్ళీ ఉపయోగించుకునేలా అనుమతించేవి. ఉదాహరణకు, రెండు పేజీలలో ఒకే CDN నుండి ఒకే React బండిల్‌ను లోడ్ చేసినప్పుడు, బ్రౌజర్ రెండోసారి క్యాష్ చేసిన కాపీనే అందిస్తుంది. అయితే, గోప్యత (privacy) కోసం చేసిన కొన్ని మార్పుల వల్ల ఈ సౌలభ్యం పోయింది: ఇప్పుడు బ్రౌజర్‌లు క్యాచీలను సైట్ల వారీగా విభజిస్తాయి (partition), దీనివల్ల ఒకే రకమైన URLలు ఉన్నప్పటికీ, ప్రతి ఒరిజిన్ (origin) కోసం అవి విడివిడిగా నిల్వ చేయబడతాయి. దీని ఫలితంగా, ఒకటి కంటే ఎక్కువ సైట్లలో కనిపించే ప్రతి పెద్ద అసెట్ (asset) కోసం డూప్లికేట్ ట్రాఫిక్ ఏర్పడుతుంది.

డూప్లికేట్-డౌన్‌లోడ్ సమస్య ఇప్పుడు ఎందుకు ముఖ్యమైనది

ఈ వృధా చిన్న ఫైళ్ల విషయంలో (వెబ్ ఫాంట్లు లేదా కొన్ని మెగాబైట్ల JavaScript వంటివి) కనిపిస్తుంది, కానీ అసెట్ అనేది మల్టీ-గిగాబైట్ AI మోడల్ లేదా WebAssembly మాడ్యూల్ అయినప్పుడు ఇది భారీగా పెరుగుతుంది.

Cross-Origin Storage (COS) API ఎలా పనిచేస్తుంది

ఈ ప్రతిపాదన URL-ఆధారిత లుకప్‌ప్‌కు బదులుగా కంటెంట్-ఆధారిత (content-addressed) విధానాన్ని ఉపయోగిస్తుంది. ఒక సైట్ తనకు కావలసిన ఫైల్ యొక్క SHA-256 హాష్‌ను అందిస్తుంది. ఆ ఫైల్‌ను ఏ ఒరిజిన్ ఫెచ్ చేసినప్పటికీ, బ్రౌజర్ తన లోకల్ స్టోర్‌లో ఆ ఖచ్చితమైన హాష్ కోసం వెతుకుతుంది. ఫైల్ అందుబాటులో ఉంటే, బ్రౌజర్ దానిని అందిస్తుంది; లేకపోతే, అది నెట్‌వర్క్ నుండి ఫైల్‌ను ఫెచ్ చేసి, భవిష్యత్తులో క్రాస్-ఒరిజిన్ పునర్వినియోగం కోసం ఆ హాష్ కింద నిల్వ చేస్తుంది.

  • హాష్ ద్వారా గుర్తింపు. హాష్ అనేది ఫైల్ యొక్క బైట్‌లను మాత్రమే సూచిస్తుంది, దాని లొకేషన్‌ను కాదు.
  • క్రాస్-ఒరిజిన్ యాక్సెస్. హాష్ తెలిసిన ఏ సైట్ అయినా, ఆ ఫైల్ వేరే చోట నుండి వచ్చినప్పటికీ, దానిని అభ్యర్థించవచ్చు.
  • లోకల్ క్యాష్ షేరింగ్. ఒకే ఫిజికల్ కాపీ బహుళ అభ్యర్థనలను తీర్చగలదు.

ఈ API కావాలనే పరిమితంగా రూపొందించబడింది: ఇది ప్రస్తుతం ఉన్న Cache API లేదా IndexedDBలను భర్తీ చేయదు. అవి సాధారణ అవసరాల కోసం నిల్వ చేసే సాధనాలుగా కొనసాగుతాయి; COS అనేది పెద్ద, ఒకే రకమైన బ్లాబ్‌ల (blobs) కోసం ఉద్దేశించిన ఒక ప్రత్యేకమైన షార్ట్‌కట్ మాత్రమే.

డిజైన్‌లో అంతర్నిర్మితంగా ఉన్న ప్రైవసీ రక్షణలు

సైట్లు వినియోగదారుల క్యాష్‌ను పరిశీలించడానికి (probe) అనుమతించడం వల్ల, క్యాష్ పార్టిషనింగ్ ఆపాలని అనుకున్న ట్రాకింగ్ పద్ధతులు మళ్ళీ వచ్చే ప్రమాదం ఉంది. COS మూడు నియమాలతో ఆ ప్రమాదాన్ని అడ్డుకుంటుంది:

  1. ఎన్యుమరేషన్ (Enumeration) ఉండదు. స్క్రిప్ట్‌లు "నీ దగ్గర ఏ హాష్‌లు ఉన్నాయి?" అని అడగలేవు—స్టోరేజ్ అనేది అపారదర్శకంగా (opaque) ఉంటుంది.
  2. తెలిసిన హాష్ అవసరం. ఒక సైట్ ఖచ్చితమైన హాష్ తెలిసినప్పుడు మాత్రమే ఫైల్‌ను అభ్యర్థించగలదు. ముందస్తు సమాచారం లేకుండా యాదృచ్ఛికంగా (random) పరిశీలించడం అసాధ్యం.
  3. గ్లోబల్ యాక్సెస్ కోసం పాపులారిటీ థ్రెషోల్డ్. వేరే ఒరిజిన్ ఫైల్‌ను పొందాలంటే, ఆ ఫైల్ తగినంత సాధారణంగా (అంటే "అజ్ఞాతంగా" - anonymous) ఉండాలి. అరుదైన ఫైల్‌లు వాటిని మొదట డౌన్‌లోడ్ చేసిన ఒరిజిన్‌కే పరిమితం చేయబడతాయి.

ఈ పరిమితులు నిజంగా షేర్ చేయబడే అసెట్‌ల కోసం APIని ఉపయోగకరంగా ఉంచుతాయి, అదే సమయంలో ఫింగర్‌ప్రింటింగ్ (fingerprinting) కోసం సైడ్ ఛానల్‌గా మారకుండా నిరోధిస్తాయి.

తదుపరి ఏమి గమనించాలి

బ్రౌజర్‌లోని భారీ అసెట్‌లతో పెరిగిపోతున్న సమస్యకు Cross-Origin Storage API ఒక సరళమైన పరిష్కారాన్ని అందిస్తుంది. క్యాష్ పార్టిషనింగ్‌కు కారణమైన ప్రైవసీ గ్యారెంటీలకు మరియు బ్యాండ్‌విడ్త్ సామర్థ్యానికి మధ్య వెబ్ కమ్యూనిటీ సమతుల్యతను సాధించగలదా అనేదే ఈ ఆలోచన డ్రాఫ్ట్ దశ నుండి ముందుకు వెళ్తుందో లేదో నిర్ణయిస్తుంది. ఒకవేళ అది జరిగితే, భవిష్యత్తు బ్రౌజర్‌లు మీరు 30 కంటే ఎక్కువ గిగాబైట్ల AI మోడల్‌ను ఒక్కసారి మాత్రమే డౌన్‌లోడ్ చేసి, దానిని ప్రతిచోటా మళ్ళీ ఉపయోగించుకునేలా చేస్తాయి—దీనివల్ల సమయం, డేటా మరియు శక్తి ఆదా అవుతాయి.