Storage Access API के लिए एचटीटीपी हेडर की सुविधा

Natalia Markoborodova
Natalia Markoborodova

ऑरिजिन ट्रायल के सफल होने के बाद, हम Chrome 133 में स्टोरेज ऐक्सेस हेडर (एसएएच) शिप कर रहे हैं.

स्टोरेज ऐक्सेस हेडर क्या होते हैं?

स्टोरेज ऐक्सेस हेडर, नए एचटीटीपी हेडर होते हैं. इनकी मदद से, एम्बेड किए गए कॉन्टेंट (जैसे कि सोशल मीडिया विजेट, कैलेंडर, इंटरैक्टिव टूल, और इमेज) को यह देखने की अनुमति मिलती है कि अनपार्टिशन की गई कुकी को ऐक्सेस किया जा सकता है या नहीं. पहले, ऐसा सिर्फ़ JavaScript की मदद से किया जा सकता था. नए Sec-Fetch-Storage-Access अनुरोध हेडर और Activate-Storage-Access जवाब हेडर से, एम्बेड किए गए कॉन्टेंट पर निर्भर रहने वाली वेबसाइटों की परफ़ॉर्मेंस और उपयोगकर्ता अनुभव बेहतर होता है. साथ ही, ये नॉन-आईफ़्रेम संसाधनों को लोड करने में मदद करते हैं. लागू करने से जुड़ी जानकारी के लिए, दस्तावेज़ देखें.

अनुरोध का हेडर

  Sec-Fetch-Storage-Access: <access-status>

जब कोई उपयोगकर्ता ऐसे पेज पर जाता है जिसमें किसी दूसरी साइट का कॉन्टेंट एम्बेड किया गया हो, तो ब्राउज़र, क्रेडेंशियल (जैसे, कुकी) की ज़रूरत वाले क्रॉस-साइट अनुरोधों में Sec-Fetch-Storage-Access हेडर को अपने-आप शामिल कर देता है. इस हेडर से, एम्बेड की गई कुकी को ऐक्सेस करने की अनुमति की स्थिति के बारे में पता चलता है. इसकी ये वैल्यू हो सकती हैं:

  • none: एम्बेड किए गए कॉन्टेंट के पास storage-access की अनुमति नहीं है. इसलिए, इसके पास बिना बांटी गई कुकी को ऐक्सेस करने की अनुमति नहीं है.

  • inactive: एम्बेड किए गए वीडियो के पास storage-access अनुमति है, लेकिन उसने मौजूदा कॉन्टेक्स्ट में इसका इस्तेमाल करने का विकल्प नहीं चुना है. एम्बेड किए गए कॉन्टेंट के पास, बिना बांटी गई कुकी का ऐक्सेस नहीं है.

  • active: एम्बेड किए गए कॉन्टेंट के पास, बिना बांटी गई कुकी का ऐक्सेस है. यह वैल्यू, ओरिजन से बाहर के उन सभी अनुरोधों में शामिल की जाएगी जिनके पास बिना बांटी गई कुकी को ऐक्सेस करने की अनुमति है.

रिस्पॉन्स हेडर

  Activate-Storage-Access: <retry-or-load>

Activate-Storage-Access हेडर, ब्राउज़र को यह निर्देश देता है कि वह कुकी के साथ अनुरोध को फिर से भेजे या Storage Access API (SAA) चालू करके संसाधन को सीधे तौर पर लोड करे. हेडर में ये वैल्यू हो सकती हैं:

  • load: यह ब्राउज़र को निर्देश देता है कि वह अनुरोध किए गए संसाधन के लिए, एम्बेड करने वाले व्यक्ति को बिना बांटी गई कुकी का ऐक्सेस दे. इस हेडर को शामिल करने का मतलब है कि storage-access अनुमति मिलने पर, document.requestStorageAccess() को कॉल किया गया है. उपयोगकर्ता को कोई और प्रॉम्प्ट नहीं दिखेगा.

  • retry: सर्वर यह जवाब देता है कि ब्राउज़र को स्टोरेज ऐक्सेस करने की अनुमति चालू करनी चाहिए. इसके बाद, अनुरोध को फिर से आज़माना चाहिए.

  Activate-Storage-Access: retry; allowed-origin="https://site.example"
  Activate-Storage-Access: retry; allowed-origin=*
  Activate-Storage-Access: load

मुख्य फ़ायदे

Storage Access API (SAA) का इस्तेमाल करने के लिए, Storage Access Headers का सुझाव दिया जाता है. यह ज़्यादा बेहतर तरीके से काम करता है. कुल मिलाकर, इस बदलाव से कई सुधार हुए हैं:

  • नॉन-आईफ़्रेम एम्बेड के लिए सहायता: इससे ज़्यादा संसाधनों के लिए SAA चालू किया जा सकता है.
  • नेटवर्क का कम इस्तेमाल: कम अनुरोध और छोटे पेलोड.
  • सीपीयू का कम इस्तेमाल: JavaScript प्रोसेसिंग कम होती है.
  • बेहतर यूज़र एक्सपीरियंस: इससे बीच-बीच में होने वाले रुकावटों को दूर किया जा सकता है.

अपने समाधान को अपडेट करना

स्टोरेज ऐक्सेस हेडर की सुविधा के साथ, दो ऐसे मामले होते हैं जिनमें आपको अपना कोड अपडेट करना पड़ सकता है:

  • आपको एसएए का इस्तेमाल करना है और storage-access के बाद के अनुरोधों के लिए हेडर लॉजिक का इस्तेमाल करके बेहतर परफ़ॉर्मेंस हासिल करनी है.
  • आपके पास ऐसा लॉजिक या पुष्टि करने की सुविधा है जो इस बात पर निर्भर करती है कि आपके सर्वर को किए गए अनुरोध में Origin हेडर शामिल है या नहीं.

अपने समाधान में स्टोरेज ऐक्सेस हेडर इस्तेमाल करने का तरीका जानने के लिए, हमारा दस्तावेज़ देखें.

उपयोग करना और सुझाव/राय देना या शिकायत करना

अगर आपको कोई सुझाव देना है या कोई समस्या आ रही है, तो समस्या की शिकायत दर्ज करें. GitHub के ब्यौरे में जाकर, Storage Access Headers के बारे में ज़्यादा जानें.