Cross Origin Storage API: ಫೈಲ್ಗಳನ್ನು ಎರಡು ಬಾರಿ ಡೌನ್ಲೋಡ್ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ
Cross-Origin Storage API ಬ್ರೌಸರ್ಗಳು ಎರಡು ಸೈಟ್ಗಳ ನಡುವೆ 33 GB AI ಮಾಡೆಲ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಅನುಮತಿಸಬಹುದು, ಇದರಿಂದ ನೀವು ಡೌನ್ಲೋಡ್ ಮಾಡುವ ಡೇಟಾ 66 GB ಇಂದ 33 GB ಗೆ ಇಳಿಯುತ್ತದೆ.
ಹಿಂದೆ ಬ್ರೌಸರ್ಗಳು ಯಾವುದೇ ಸೈಟ್, ಮತ್ತೊಂದು ಸೈಟ್ ಈಗಾಗಲೇ ಪಡೆದ ಫೈಲ್ ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ಅವಕಾಶ ನೀಡುತ್ತಿದ್ದವು. ಉದಾಹರಣೆಗೆ, ಎರಡು ಪೇಜ್ಗಳಲ್ಲಿ CDN ನಿಂದ ಒಂದೇ React bundle ಅನ್ನು ಲೋಡ್ ಮಾಡಿದಾಗ, ಬ್ರೌಸರ್ ಎರಡನೇ ಬಾರಿಗೆ ಕ್ಯಾಶ್ ಮಾಡಿದ (cached) ಪ್ರತಿಯನ್ನು ನೀಡುತ್ತದೆ. ಆದರೆ ಗೌಪ್ಯತೆಗೆ (privacy) ಸಂಬಂಧಿಸಿದ ಕೆಲವು ಬದಲಾವಣೆಗಳು ಈ ಸೌಲಭ್ಯವನ್ನು ತಪ್ಪಿಸಿವೆ: ಈಗ ಬ್ರೌಸರ್ಗಳು ಕ್ಯಾಶ್ಗಳನ್ನು ಸೈಟ್ಗಳ ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸುತ್ತವೆ (partition), ಆದ್ದರಿಂದ ಒಂದೇ ರೀತಿಯ URL ಗಳಿದ್ದರೂ ಸಹ ಪ್ರತಿಯೊಂದು ಮೂಲಕ್ಕಾಗಿ (origin) ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಇದರ ಪರಿಣಾಮವಾಗಿ, ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸೈಟ್ಗಳಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಪ್ರತಿಯೊಂದು ದೊಡ್ಡ ಅಸೆಟ್ (asset) ಗೂ ಡ್ಯುಪ್ಲಿಕೇಟ್ ಟ್ರಾಫಿಕ್ ಉಂಟಾಗುತ್ತದೆ.
ಡ್ಯುಪ್ಲಿಕೇಟ್-ಡೌನ್ಲೋಡ್ ಸಮಸ್ಯೆ ಈಗ ಏಕೆ ಮುಖ್ಯವಾಗಿದೆ
ಈ ವ್ಯರ್ಥವು ಸಣ್ಣ ಫೈಲ್ಗಳೊಂದಿಗೆ—ವೆಬ್ ಫಾಂಟ್ಗಳು ಅಥವಾ ಕೆಲವು ಮೆಗಾಬೈಟ್ಗಳ JavaScript—ಕಂಡುಬರುತ್ತದೆ, ಆದರೆ ಅಸೆಟ್ ಒಂದು ಮಲ್ಟಿ-ಗಿಗಾಬೈಟ್ AI ಮಾಡೆಲ್ ಅಥವಾ WebAssembly ಮಾಡ್ಯೂಲ್ ಆಗಿದ್ದಾಗ ಇದು ತೀವ್ರವಾಗಿ ಹೆಚ್ಚಾಗುತ್ತದೆ.
Cross-Origin Storage (COS) API ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
ಈ ಪ್ರಸ್ತಾವನೆಯು URL ಆಧಾರಿತ ಹುಡುಕಾಟದ ಬದಲಿಗೆ ಕಂಟೆಂಟ್-ಅಡ್ರೆಸ್ಡ್ (content-addressed) ಹುಡುಕಾಟವನ್ನು ಬಳಸುತ್ತದೆ. ಒಂದು ಸೈಟ್ ತನಗೆ ಬೇಕಾದ ಫೈಲ್ನ SHA-256 ಹ್ಯಾಶ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಆ ಫೈಲ್ ಮೂಲತಃ ಯಾವ ಮೂಲದಿಂದ (origin) ಪಡೆಯಲ್ಪಟ್ಟಿದೆ ಎಂಬುದನ್ನು ಪರಿಗಣಿಸದೆ, ಬ್ರೌಸರ್ ತನ್ನ ಸ್ಥಳೀಯ ಸಂಗ್ರಹದಲ್ಲಿ (local store) ಆ ನಿಖರವಾದ ಹ್ಯಾಶ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಫೈಲ್ ಲಭ್ಯವಿದ್ದರೆ, ಬ್ರೌಸರ್ ಅದನ್ನು ನೀಡುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ, ಅದು ನೆಟ್ವರ್ಕ್ನಿಂದ ಫೈಲ್ ಅನ್ನು ಪಡೆದು, ಭವಿಷ್ಯದ cross-origin ಮರುಬಳಕೆಗಾಗಿ ಆ ಹ್ಯಾಶ್ ಅಡಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ.
- ಹ್ಯಾಶ್ ಮೂಲಕ ಗುರುತಿಸುವುದು. ಹ್ಯಾಶ್ ಫೈಲ್ನ ಬಯಟ್ಗಳನ್ನು (bytes) ವಿಶಿಷ್ಟವಾಗಿ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಅದರ ಸ್ಥಳವನ್ನಲ್ಲ.
- Cross-origin ಪ್ರವೇಶ. ಹ್ಯಾಶ್ ತಿಳಿದಿರುವ ಯಾವುದೇ ಸೈಟ್, ಫೈಲ್ ಬೇರೆ ಮೂಲದಿಂದ ಬಂದಿದ್ದರೂ ಸಹ ಅದನ್ನು ವಿನಂತಿಸಬಹುದು.
- ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಹಂಚಿಕೆ. ಒಂದೇ ಭೌತಿಕ ಪ್ರತಿ (physical copy) ಹಲವಾರು ವಿನಂತಿಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ.
ಈ API ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸೀಮಿತವಾಗಿದೆ: ಇದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ Cache API ಅಥವಾ IndexedDB ಅನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ. ಅವು ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಸಂಗ್ರಹಣೆಯ ಸಾಧನಗಳಾಗಿ ಉಳಿಯುತ್ತವೆ; COS ಎಂಬುದು ದೊಡ್ಡದಾದ, ಒಂದೇ ರೀತಿಯ ಬ್ಲಾಬ್ಗಳಿಗಾಗಿ (blobs) ಇರುವ ಏಕ-ಉದ್ದೇಶದ ಶಾರ್ಟ್ಕಟ್ ಆಗಿದೆ.
ವಿನ್ಯಾಸದಲ್ಲಿ ಅಳವಡಿಸಲಾದ ಗೌಪ್ಯತೆಯ ರಕ್ಷಣಾ ಕ್ರಮಗಳು
ಸೈಟ್ಗಳು ಬಳಕೆದಾರರ ಕ್ಯಾಶ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು (probe) ಅನುಮತಿಸುವುದು, ಕ್ಯಾಶ್ ವಿಂಗಡಣೆಯು ತಡೆಯಲು ಉದ್ದೇಶಿಸಿರುವ ಟ್ರ್ಯಾಕಿಂಗ್ ವೆಕ್ಟರ್ಗಳನ್ನು (tracking vectors) ಮತ್ತೆ ಮರುಪರಿಚಯಿಸಬಹುದು. COS ಈ ಅಪಾಯವನ್ನು ಮೂರು ನಿಯಮಗಳ ಮೂಲಕ ತಡೆಯುತ್ತದೆ:
- ಎನ್ಯುಮರೇಶನ್ ಇಲ್ಲ (No enumeration). ಸ್ಕ್ರಿಪ್ಟ್ಗಳು "ನಿಮ್ಮ ಬಳಿ ಯಾವ ಹ್ಯಾಶ್ಗಳಿವೆ?" ಎಂದು ಕೇಳಲು ಸಾಧ್ಯವಿಲ್ಲ—ಸಂಗ್ರಹಣೆಯು ಅಸ್ಪಷ್ಟವಾಗಿರುತ್ತದೆ (opaque).
- ತಿಳಿದಿರುವ ಹ್ಯಾಶ್ ಅಗತ್ಯತೆ. ಒಂದು ಸೈಟ್ ನಿಖರವಾದ ಹ್ಯಾಶ್ ಅನ್ನು ಈಗಾಗಲೇ ತಿಳಿದಿದ್ದರೆ ಮಾತ್ರ ಫೈಲ್ ಅನ್ನು ವಿನಂತಿಸಬಹುದು. ಪೂರ್ವ ಜ್ಞಾನವಿಲ್ಲದೆ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ (random probing) ಮಾಡುವುದು ಅಸಾಧ್ಯ.
- ಜಾಗತಿಕ ಪ್ರವೇಶಕ್ಕಾಗಿ ಜನಪ್ರಿಯತೆಯ ಮಿತಿ. ಬೇರೆ ಮೂಲವು ಫೈಲ್ ಅನ್ನು ಪಡೆಯುವ ಮೊದಲು, ಆ ಫೈಲ್ ಸಾಕಷ್ಟು ಸಾಮಾನ್ಯವಾಗಿದ್ದೀತು—ಅಂದರೆ "ಅನಾಮಧೇಯ" (anonymous) ಆಗಿರಬೇಕು. ಅಪರೂಪದ ಫೈಲ್ಗಳು ಅವುಗಳನ್ನು ಮೊದಲು ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ಮೂಲಕ್ಕೆ ಮಾತ್ರ ಸೀಮಿತವಾಗಿರುತ್ತವೆ.
ಈ ಮಿತಿಗಳು API ಅನ್ನು ನಿಜವಾದ ಹಂಚಿಕೆಯ ಅಸೆಟ್ಗಳಿಗೆ ಉಪಯುಕ್ತವಾಗುವಂತೆ ಇರಿಸುತ್ತವೆ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟಿಂಗ್ಗಾಗಿ (fingerprinting) ಸೈಡ್ ಚಾನೆಲ್ ಆಗದಂತೆ ತಡೆಯುತ್ತವೆ.
ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು
ಬ್ರೌಸರ್ನಲ್ಲಿರುವ ಬೃಹತ್ ಅಸೆಟ್ಗಳೊಂದಿಗೆ ಬೆಳೆದುಬಂದ ಸಮಸ್ಯೆಗೆ Cross-Origin Storage API ಒಂದು ನೇರ ಪರಿಹಾರವನ್ನು ನೀಡುತ್ತದೆ. ಕ್ಯಾಶ್ ವಿಂಗಡಣೆಗೆ ಕಾರಣವಾದ ಗೌಪ್ಯತೆಯ ಭರವಸೆಗಳು ಮತ್ತು ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ದಕ್ಷತೆಯ ನಡುವೆ ವೆಬ್ ಸಮುದಾಯವು ಸಮತೋಲನವನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಬಲ್ಲದೇ ಎಂಬುದು ಈ ಕಲ್ಪನೆಯು ಕರಡು ಹಂತದಿಂದ ಮುಂದೆ ಸಾಗುತ್ತದೆಯೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಒಂದು ವೇಳೆ ಅದು ಹಾಗೆ ಮಾಡಿದರೆ, ಭವಿಷ್ಯದ ಬ್ರೌಸರ್ಗಳು ನೀವು 30 ಕ್ಕೂ ಹೆಚ್ಚು ಗಿಗಾಬೈಟ್ ಇರುವ AI ಮಾಡೆಲ್ ಅನ್ನು ಒಮ್ಮೆ ಡೌನ್ಲೋಡ್ ಮಾಡಿ ಎಲ್ಲೆಡೆ ಮರುಬಳಕೆ ಮಾಡಲು ಅನುಮತಿಸಬಹುದು—ಇದರಿಂದ ಸಮಯ, ಡೇಟಾ ಮತ್ತು ಶಕ್ತಿಯ ಉಳಿತಾಯವಾಗುತ್ತದೆ.
