खास जानकारी

Google एएमपी कैश, वेब पर प्रकाशित मान्य एएमपी कॉन्टेंट की कैश मेमोरी में सेव की गई कॉपी दिखाता है. तेज़ी से उपयोगकर्ता अनुभव देने के लिए कॉन्टेंट को सीधे Google एएमपी कैश से दिखाएं.

Google AMP कैश का फ़ायदा उठाने के लिए, AMP URL को AMP कैश यूआरएल फ़ॉर्मैट का इस्तेमाल करके सीधे कैश से ऐक्सेस किया जाना चाहिए. जब भी कोई उपयोगकर्ता कैश मेमोरी से एएमपी कॉन्टेंट ऐक्सेस करता है, तो कॉन्टेंट अपने-आप अपडेट हो जाता है. कॉन्टेंट को कैश मेमोरी में सेव करने के बाद, कॉन्टेंट को अगले उपयोगकर्ता को अपडेट किया जाता है.

एएमपी कैश यूआरएल फ़ॉर्मैट

एएमपी कैश यूआरएल फ़ॉर्मैट में ये कॉम्पोनेंट होते हैं:

कॉम्पोनेंट ब्यौरा
सबडोमेन का नाम

वर्ण सीमा और तकनीकी जानकारी की अनुमति होने पर, Google एएमपी कैश से बनाए गए सबडोमेन, पढ़ने में आसान होंगे. साथ ही, पब्लिशर के डोमेन से काफ़ी मिलते-जुलते होंगे. संभव होने पर, Google एएमपी कैश इन तरीकों से हर सबडोमेन को बनाएगा:

  1. एएमपी दस्तावेज़ के डोमेन को आईडीएन (Punycode) से UTF-8 में बदलना.
  2. हर "-" (डैश) को "--"(2 डैश) से बदलना.
  3. हर "." (बिंदु) को "-" (डैश) से बदला जा रहा है.
  4. आईडीएन (Punycode) में वापस बदला जा रहा है.

उदाहरण के लिए, pub.com को pub-com.cdn.ampproject.org के आधार पर मैप किया जाएगा. जहां तकनीकी सीमाएं किसी व्यक्ति को पढ़ने लायक सबडोमेन से रोकती हैं, वहां एकतरफ़ा हैश का इस्तेमाल किया जाएगा.

कॉन्टेंट का टाइप कॉन्टेंट टाइप इनमें से एक है: एएमपी एचटीएमएल दस्तावेज़ के लिए 'c', इमेज के लिए 'i' या फ़ॉन्ट जैसे रिसॉर्स के लिए 'r'. ऐसे कॉन्टेंट के लिए Google एएमपी कैश मेमोरी 404 गड़बड़ी दिखाती है जो इन कॉन्टेंट टाइप से मेल नहीं खाती (मुख्य गड़बड़ी देखें).
ज़रूरी नहीं अगर यह मौजूद है, तो यह ज़रूरी है कि Google, TLS (सुरक्षित एचटीटीपीएस) का इस्तेमाल करके ऑरिजिन से कॉन्टेंट फ़ेच करे. अगर 's' मौजूद नहीं है, तो कॉन्टेंट को सादे एचटीटीपी की मदद से ऑरिजिन से फ़ेच किया जाता है.
यूआरआई फ़ेच की जाने वाली सामग्री का यूआरआई. यूआरआई में कोई स्कीम नहीं हो सकती, यानी कि कोई `http://` या `https://` नहीं है.

सबडोमेन का नाम ढूंढना

आम तौर पर, ऊपर दिए गए तरीके का इस्तेमाल करके, Google एएमपी कैश यूआरएल के सबडोमेन का नाम, मूल यूआरएल होगा. हालांकि, कुछ मामलों में यहां दी गई जानकारी सही नहीं हो सकती, लेकिन Google एएमपी कैश यूआरएल एपीआई का इस्तेमाल करना, प्रोडक्शन के लिए तैयार ऐप्लिकेशन के लिए, Google एएमपी कैश के यूआरएल पाने का सबसे अच्छा तरीका है.

नॉन-प्रोडक्शन स्थितियों के लिए, यह तय करने के लिए कि Google एएमपी कैश किस सबडोमेन का नाम जनरेट करता है, amp.dev पर Google एएमपी कैश इंटरैक्टिव टूल का इस्तेमाल करके देखें.

TLS का इस्तेमाल करके, दस्तावेज़ मांगने का उदाहरण

https://example.com/amp_document.html से मिले एएमपी एचटीएमएल दस्तावेज़ (/c के बारे में बताया गया है) के लिए अनुरोध:

https://example-com.cdn.ampproject.org/c/s/example.com/amp_document.html

ऐसा इसलिए है, क्योंकि /s, /c प्रीफ़िक्स का पालन करता है. दस्तावेज़ को TLS का इस्तेमाल करके, example.com से फ़ेच किया जाएगा.

सादे एचटीटीपी का इस्तेमाल करके इमेज का अनुरोध करने का उदाहरण

http://example.com/logo.png से मिली इमेज (/i प्रीफ़िक्स के बारे में बताया गया है) के लिए अनुरोध:

https://example-com.cdn.ampproject.org/i/example.com/logo.png

/i प्रीफ़िक्स के बाद कोई /s नहीं होता है. इसलिए, Google, सामान्य एचटीटीपी का इस्तेमाल करके example.com से इमेज फ़ेच करता है, लेकिन TLS पर एचटीटीपी नहीं.

क्वेरी पैरामीटर का उदाहरण

एएमपी कैश यूआरएल फ़ॉर्मैट में, क्वेरी स्ट्रिंग में पैरामीटर भी शामिल हो सकते हैं. यहां पैरामीटर के साथ एचटीटीपीएस का उदाहरण दिया गया है: https://example-com.cdn.ampproject.org/c/s/example.com/g?value=Hello%20World

Google एएमपी कैश के अपडेट

जब कोई उपयोगकर्ता, Google एएमपी कैश से एएमपी दस्तावेज़ के लिए अनुरोध करता है, तो यह कॉन्टेंट अपने-आप अपडेट होने का अनुरोध करता है. ऐसा इसलिए किया जाता है, ताकि कॉन्टेंट कैश मेमोरी में सेव हो जाने पर, अगले उपयोगकर्ता को नया कॉन्टेंट दिखाया जा सके. इस मॉडल में, एएमपी दस्तावेज़ों के अपडेट अपने-आप और तेज़ी से लागू होते हैं; कुछ उपयोगकर्ताओं को आपके अपडेट के बाद, अपडेट नहीं किया गया वर्शन दिखेगा.

कैश मेमोरी, "फिर से पुष्टि करते समय हुई किसी समस्या" के मॉडल को फ़ॉलो करती है. यह बताता है कि ऑरिजिन का कैशिंग हेडर, जैसे कि Max-Age, क्या यह तय करता है कि कोई खास दस्तावेज़ या रिसॉर्स पुराना है या नहीं. जब कोई उपयोगकर्ता किसी पुरानी जानकारी का अनुरोध करता है, तो उस अनुरोध की एक नई कॉपी फ़ेच होती है. इससे, अगले उपयोगकर्ता को नया कॉन्टेंट मिल जाता है.

पब्लिशर साइटों के लिए जनरेट होने वाले लोड की संख्या को सीमित करने के लिए, Google एएमपी कैश किसी भी दस्तावेज़ को कम से कम 15 सेकंड तक या नए रिसॉर्स को कम से कम 1 मिनट तक अपडेट रखता है. ध्यान दें कि आने वाले समय में ये संख्याएं बदल सकती हैं. इसकी वजह यह है कि हम कैश मेमोरी को अपडेट करते हैं, ताकि प्रकाशक साइटों पर नया कॉन्टेंट लोड हो सके और नए वर्शन लोड हो सकें.

कैश मेमोरी ऑप्टिमाइज़ेशन और बदलाव

Google एएमपी कैश में ऑप्टिमाइज़ेशन और बदलाव किए जाते हैं, जैसे:

  • यह पुष्टि करता है कि कॉन्टेंट एएमपी फ़ॉर्मैट में है या नहीं. यह एएमपी के सभी लक्ष्यों को पूरा करता है.
  • एएमपी दस्तावेज़ों के अलावा, इमेज और फ़ॉन्ट को कैश मेमोरी में सेव करता है.
  • यह नीति, ब्राउज़र मेमोरी की गड़बड़ियों और खराब रिस्पॉन्स से बचने के लिए, ज़्यादा से ज़्यादा इमेज डाइमेंशन को सीमित करती है.
  • amp-img टैग की मदद से, इमेज की डिलीवरी को बेहतर बनाने के लिए किए गए कई बदलाव, जैसे कि:
    • कुछ ऐसे मेटाडेटा, जैसे कुछ खास मेटाडेटा को हटाना जो दिखाई नहीं देता है या देखने में मुश्किल होता है.
    • इमेज को छोटे और मोबाइल-फ़्रेंडली इमेज फ़ॉर्मैट में बदलना, जैसे कि WebP के साथ काम करने वाले ब्राउज़र में GIF, PNG, और JPEG फ़ॉर्मैट वाली इमेज को WebP में बदलना.
    • अगर अनुरोध में 'सेव करें' डेटा हेडर शामिल है, तो इमेज की क्वालिटी को खराब क्वालिटी में बदलना.
    • अलग-अलग साइज़ के वर्शन बनाना और रिस्पॉन्सिव साइज़ वाली इमेज की डिलीवरी के लिए, srcset एट्रिब्यूट जोड़ना.
  • यह सुरक्षित चैनल (एचटीटीपीएस) पर काम करता है और सबसे नए वेब प्रोटोकॉल (SPDY, एचटीटीपी/2) का इस्तेमाल करता है.
  • गलत तरीके से बंद किए गए एचटीएमएल टैग, टिप्पणियों वगैरह के आधार पर, XSS को रोकने के लिए एएमपी दस्तावेज़ों को सैनिटाइज़ करता है.

ऊपर दिए गए बदलाव करते समय, Google एएमपी कैश, "कैश कंट्रोल, कोई बदलाव नहीं" हेडर को अनदेखा करता है.

एचटीएमएल सैनिटाइज़ेशन

Google एएमपी कैश मेमोरी में मौजूद फ़ाइलों को फिर से लिखने के लिए फिर से लिखा जाता है. उदाहरणों में शामिल है:

  • सभी एचटीएमएल टिप्पणियां हटा दी गई हैं.
  • टैग और एट्रिब्यूट के नाम लोअरकेस में हैं.
  • एट्रिब्यूट की वैल्यू को कोट किया जाता है और उन्हें एस्केप किया जाता है.
  • सभी टैग बंद हैं. इनमें सिर्फ़ HTML5 शून्य एलिमेंट शामिल हैं.
  • टैग के अंदर मौजूद व्हाइटस्पेस को निकाल दिया जाता है.
  • टेक्स्ट को एस्केप किया गया है.
  • UTF-8 जैसे वर्णों का इस्तेमाल करके, कोड में बदले गए वर्णों को आसान बनाया जाता है.
  • body में मौजूद एलिमेंट को body में ले जाया जाता है.
  • आउटबाउंड लिंक पूरे किए जाते हैं, ताकि वे तब काम करें, जब दस्तावेज़, पब्लिशर ऑरिजिन के बजाय Google एएमपी कैश ऑरिजिन से दिखाया गया हो.

प्रीफ़ेच टैग डालें

Google एएमपी कैश, ब्राउज़र में अलग-अलग प्रीफ़ेच हिंट टैग जोड़ता है, ताकि पहले से रिसॉर्स लोड करने में मदद मिल सके. उदाहरण के लिए,<link href='https://fonts.googleapis.com/css?family=Lato' rel='stylesheet’>:

<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<link href="https://fonts.gstatic.com" rel="dns-prefetch preconnect">