STATUS IS UPवेबसाइट अनुकूलन विकि
20तेज़ करें
प्रदर्शन और डिलीवरी / तेज़ करें

वेबसाइट मालिकों के लिए ब्राउज़र कैशिंग मार्गदर्शिका

स्पष्ट HTTP कैश नियम निर्धारित करें ताकि दोबारा विजिट पर अनावश्यक डाउनलोड टाले जाएँ, बिना आगंतुकों को पुराने पन्नों या असुरक्षित निजी सामग्री पर फँसाए।

वेबसाइट मालिकों के लिए ब्राउज़र कैशिंग मार्गदर्शिका — दृश्य मार्गदर्शक
पढ़ें
7 मिनट
स्रोत
6
पुनः सत्यापित करें
2027-03-27
समीक्षित
वेब प्रदर्शन और रिलीज़ इंजीनियरिंग समीक्षक
संक्षिप्त उत्तर

निर्णय से शुरू करें।

प्रत्येक प्रकार के URL के लिए अलग कैशिंग नियम लागू करें। जिन फ़ाइलों की सामग्री उस URL पर कभी नहीं बदलती—जैसे हैश‑नामित JavaScript, CSS, फ़ॉन्ट, और इमेज—उन्हें लंबी फ्रेशनेस लाइफटाइम दें। HTML और अन्य अन-वर्जन्ड (unversioned) उत्तरों को ऐसी नीति दें कि जब फ्रेशनेस मायने रखती हो ब्राउज़र पुन: उपयोग से पहले वैधेशन करे। जब भी कोई एसेट बदलता है तो नया एसेट URL प्रकाशित करें; लंबी कैश‑लाइफटाइम उन प्रतियों के लिए विश्वसनीय रूप से पलटा नहीं जा सकता जो अभी भी फ्रेश हैं।

शुरूआत में स्पष्ट Cache-Control हेडर सेट करें, फिर स्टेजिंग वातावरण में हेडर और ब्राउज़र व्यवहार सत्यापित करें। वैलिडेशन‑फ्रेंडली प्रतिक्रियाओं को ETag और जहाँ उपलब्ध हो Last-Modified के साथ जोड़ीए। व्यक्तिगत, अकाउंट, चेकआउट और संवेदनशील प्रतिक्रियाओं को सार्वजनिक पृष्ठों से अलग व्यवहार दें। SIU इस कार्य को सक्रिय अपटाइम अनुकूलन के रूप में उपयोग करता है: यह अनावश्यक ओरिजिन काम घटाता है और रिलीज़‑संबंधी कैश त्रुटियों को उन तक पहुँचने से पहले रोकता है जिनसे वेबसाइट उपयोग‑योग्य प्रभावित हो सकती है।

दृश्य मार्गदर्शक

काम को एक प्रणाली के रूप में देखें।

व्यक्तिगत तकनीकों पर अमल करने से पहले लेख के निर्णयों को जोड़ने के लिए इस मानचित्र का उपयोग करें।

SIUतेज़ करें
01नीति को सर्वर के बजाय संसाधन से मैप करें
02Cache-Control शब्दों का सटीक प्रयोग करें
03स्थिर (immutable) एसेटों को लंबी लाइफटाइम देने से पहले वर्जनिंग करें
04HTML को लंबी कैशिंग के बजाय वैलिडेशन के माध्यम से अद्यतित रखें
01

नीति को सर्वर के बजाय संसाधन से मैप करें

हेडर बदलने से पहले प्रतिनिधि URL का इन्वेंटरी बनाइए: होम पेज, कंटेंट पेज, एप्लिकेशन शेल, CSS, JavaScript, इमेज, फ़ॉन्ट, APIs, लॉगिन, अकाउंट, चेकआउट, और डाउनलोड। प्रत्येक के लिए रिकॉर्ड करें कि प्रतिक्रिया सार्वजनिक है या व्यक्तिगत, क्या उसका URL बाइट्स बदलने पर बदलता है, और सुधार कितनी जल्दी विज़िटर्स तक पहुँचाना आवश्यक है।

उस इन्वेंटरी से एक नीति मैट्रिक्स बनाइए। एक सार्वजनिक कंटेंट‑एड्रेस्ड (content-addressed) एसेट को एक स्थिर पते पर HTML से अलग नियम की आवश्यकता होती है। Cache-Control न होने पर भी प्रतिक्रियाएँ heuristically कैश हो सकती हैं, इसलिए स्पष्ट नियम टेस्ट करना आसान होते हैं।

Freshness lifetime

स्टोर की गई प्रतिक्रिया कितने समय तक पुन: उपयोग की जा सकती है; max-age सेकंड में इसे देता है।

02

Cache-Control शब्दों का सटीक प्रयोग करें

Cache-Control ब्राउज़र और शेयर किए गए कैशेस को बताता है कि कैसे किसी प्रतिक्रिया को स्टोर और पुन: उपयोग करना है। max-age=N फ्रेश रहते हुए पुन: उपयोग की अनुमति देता है। s-maxage=N शेयर किए गए कैश के फ्रेशनेस को सेट करता है और वहाँ max-age को ओवरराइड करता है, पर ब्राउज़र s-maxage को अनदेखा करते हैं। public किसी भी कैश को अनुमति देता है; private ब्राउज़र कैशिंग की अनुमति देता है पर शेयर किए गए कैश में स्टोरिंग रोकता है।

no-cache स्टोरेज की अनुमति देता है पर पुन: उपयोग से पहले ओरिजिन वैलिडेशन अनिवार्य करता है। no-store का अर्थ है कि कैशेस को प्रतिक्रिया स्टोर नहीं करनी चाहिए, पर यह एक पूर्ण गोपनीयता नियंत्रण नहीं है। जब एक्सपायरी के बाद स्टेल सामग्री सेवा अस्वीकार्य हो तो must-revalidate का उपयोग करें; तब अनुपलब्ध ओरिजिन 504 दे सकता है बजाय स्टेल फॉलबैक के।

Avoid blanket no-store

यह स्टोरेज को हटा देता है बजाय केवल चेक की आवश्यकता बताने के; इसे उन प्रतिक्रियाओं के लिए आरक्षित रखें जिन्हें वाकई में स्टोर नहीं किया जाना चाहिए।

03

स्थिर (immutable) एसेटों को लंबी लाइफटाइम देने से पहले वर्जनिंग करें

एक वर्जन्ड एसेट URL में कंटेंट‑फिंगरप्रिंट या रिलीज़ वर्ज़न शामिल होता है, जैसे app.4f2c.js। जब एसेट बाइट्स बदलें, तो एक अलग URL प्रकाशित करें और HTML संदर्भ अपडेट करें। कैश नया संसाधन देखता है, इसलिए विज़िटर्स नया एसेट बिना हर ब्राउज़र तक इनवैलिडेशन पहुँचाए फ़ेच कर लेते हैं।

यदि किसी प्रतिनिधित्व के फ्रेशनेस लाइफटाइम के दौरान वह नहीं बदलेगा, तो Cache-Control: max-age=31536000, immutable एक व्यावहारिक पैटर्न है। immutable समर्थित क्लाइंट्स को फ्रेश रहते हुए conditional revalidate न करने के लिए बताता है। इसे या एक साल‑लंबी max-age को उसी‑URL पर म्यूटेबल फ़ाइल पर न लगाएँ। उन पूर्व फिंगरप्रिंटेड एसेट्स को बनाए रखें जबकि कैश्ड HTML अभी भी उनका संदर्भ दे सकता है।

HTML is the manifest

HTML एसेट URL चुनता है, इसलिए रिलीज़ अनुक्रमण (sequencing) को संदर्भित जनरेशन को बनाए रखना होगा।

04

HTML को लंबी कैशिंग के बजाय वैलिडेशन के माध्यम से अद्यतित रखें

HTML आमतौर पर स्थिर, मानव‑मुखी URL रखता है और सामग्री, एसेट संदर्भ, फीचर फ्लैग, या सुरक्षा सूचनाओं के साथ बदलता है। एक conserva­tive सार्वजनिक HTML पैटर्न है Cache-Control: no-cache के साथ ETag और Last-Modified जब आपकी प्लेटफ़ॉर्म इन्हें सही तरह से उत्पन्न कर सकता है। ब्राउज़र बॉडी को स्टोर करता है पर पुन: उपयोग से पहले conditional request करता है; यदि अपरिवर्तित है तो 304 Not Modified बिना बॉडी के लौट सकता है।

ETag किसी संसाधन वर्ज़न की पहचान करता है। एक स्टेल प्रतिक्रिया पर ब्राउज़र इसे If-None-Match में भेज सकता है; यदि यह मेल खाता है, तो सर्वर 304 लौटाता है, अन्यथा नया प्रतिनिधित्व भेजता है। RFC मार्गदर्शन संभव होने पर 200 प्रतिक्रिया पर ETag और Last-Modified दोनों होने को प्राथमिकता देता है। no-cache बैक या फॉरवर्ड नेविगेशन पर वैलिडेशन की गारंटी नहीं देता क्योंकि ब्राउज़र सेशन‑हिस्ट्री स्नैपशॉट बहाल कर सकता है।

Validator quality

ETag को तब बदलना चाहिए जब प्रतिनिधित्व बदलता है; विभिन्न ओरिजिन और डिप्लॉयमेंट्स पर इसका परीक्षण करें।

05

सार्वजनिक डिलीवरी को व्यक्तिगत और संवेदनशील प्रतिक्रियाओं से अलग रखें

एक साझी कैश, जैसे CDN, एक ही प्रतिक्रिया को कई उपयोगकर्ताओं के लिए पुन: उपयोग कर सकता है। उसे अकाउंट‑विशेष HTML या API डेटा को उपयोगकर्ताओं में साझा करने न दें। व्यक्तिगत सामग्री के लिए जो ब्राउज़र में रह सकती है, private, no-cache एक समझदारी भरा प्रारंभिक बिंदु है: यह शेयर स्टोरेज रोकता है और वैलिडेशन आवश्यक बनाता है। केवल Set-Cookie हेडर कैशिंग को नहीं रोकता।

उन प्रतिक्रियाओं के लिए जिन्हें स्टोर नहीं किया जाना चाहिए, no-store का उपयोग करें और एप्लिकेशन कोड, CDN नियम, सर्विस वर्कर, ब्राउज़र स्टोरेज, लॉग, और त्रुटि पृष्ठों की समीक्षा करें। केवल हेडर पर्याप्त नहीं हैं—यह कोई गोपनीयता, अनुपालन, या भुगतान‑सुरक्षा कार्यक्रम नहीं हैं। संवेदनशील फ्लोज़ और लागू नियमों की समीक्षा के लिए योग्य सुरक्षा, गोपनीयता, और भुगतान परीक्षकों को शामिल करें।

Authorization changes

वार्म ब्राउज़र और CDN कैश के साथ साइन‑इन, साइन‑आउट, अकाउंट स्विचिंग, और अनुमति परिवर्तन परीक्षण करें।

06

कैश परिवर्तनों को एक बहु‑रिवर्सिबल रिलीज़ की तरह रोल आउट करें

अनकैश्ड और रिपीट अनुरोधों के लिए बेसलाइन हेडर्स और बॉडी व्यवहार कैप्चर करें। स्टेजिंग में, पहले वर्जन्ड एसेट्स डिप्लॉय करें, फिर उन्हीं का संदर्भ देने वाला HTML, और पुराने कैश्ड HTML को नए ओरिजिन के खिलाफ टेस्ट करें। यदि दोनों मौजूद हों तो डायरेक्ट‑ओरिजिन और CDN पाथ की जाँच करें। DevTools Network हेडर दिखाने चाहिए कि नीति और रिपीट व्यवहार इच्छित के अनुरूप हैं।

एसेट URL, हेडर नियम, और कॉन्फ़िगरेशन वर्ज़न की एक रिलीज़ मैनिफेस्ट रखें। यदि कोई रिलीज़ असंगत क्लाइंट फ़ाइलें मिलाती है, तो संगत HTML और एप्लिकेशन व्यवहार बहाल करें, पर प्रकाशित फिंगरप्रिंटेड फ़ाइल को ओवरराइट न करें। HTML को जानी‑पहचानी‑सही जनरेशन की ओर पॉइंट करें और दोनों जनरेशनों को रखें जब तक की कैश्ड HTML उन्हें अनुरोध कर सकता है। एक शेयर‑कैश purge ब्राउज़र को ताज़ा प्रतिक्रिया discard करने के लिए मजबूर नहीं कर सकता।

Proactive remediation

हेडर‑टेस्ट विफलताएँ, एसेट 404s, और वर्ज़न मिसमैच को अगले रिलीज़ चेकलिस्ट में बदलाव बनाइए।

कार्य / सत्यापित करें

आपका व्यावहारिक टू-डू गाइड।

  1. 01

    प्रतिक्रिया श्रेणियों का इन्वेंटरी बनाइए

    नमूना URL‑स वर्गीकृत करें: सार्वजनिक या व्यक्तिगत, म्यूटेबल या वर्जन्ड।

    सत्यापित करें: HTML, एसेट्स, APIs, प्रमाणीकरण, अकाउंट, चेकआउट, और त्रुटियाँ शामिल हैं।
  2. 02

    वर्तमान हेडर्स कैप्चर करें

    Origin और CDN पर Cache-Control, ETag, Last-Modified, Age, Vary, और status रिकॉर्ड करें।

    सत्यापित करें: प्रत्येक नमूने के लिए परिवर्तन‑पूर्व स्नैपशॉट मौजूद है।
  3. 03

    म्यूटेबल एसेट्स को फिंगरप्रिंट करें

    बिल्ड को यह सुनिश्चित कराने के लिए बनाएँ कि इसकी बाइट्स बदलने पर नया एसेट URL प्रकाशित हो।

    सत्यापित करें: बदला हुआ एसेट एक बदला हुआ URL और HTML संदर्भ उत्पन्न करता है।
  4. 04

    स्पष्ट नीतियाँ सेट करें

    केवल इम्म्यूटेबल वर्जन्ड URL के लिए लंबी‑जीवन नियम; स्थिर URL के लिए वैलिडेशन‑प्राथमिक नियम।

    सत्यापित करें: हेडर परीक्षण इच्छित नीति से मेल खाते हैं।
  5. 05

    वैलिडेशन का परीक्षण करें

    एक अपरिवर्तित दस्तावेज़ को conditional request के बाद 304 लौटना चाहिए और बदला हुआ 200 के साथ नया ETag।

    सत्यापित करें: स्टेजिंग ट्रेस दोनों पाथ दिखाते हैं।
  6. 06

    गोपनीयता सीमाओं का व्यायाम करें

    दो अकाउंट, साइन‑आउट, भूमिका परिवर्तन, और संवेदनशील रूट्स को वार्म कैश के साथ टेस्ट करें।

    सत्यापित करें: कोई व्यक्तिगत प्रतिक्रिया उपयोगकर्ताओं के बीच पार नहीं हुई।
  7. 07

    रिलीज़ संगतता साबित करें

    अगली रिलीज़ के बाद कैश्ड पूर्व HTML लोड करें।

    सत्यापित करें: पूर्व और वर्तमान HTML अपने संदर्भित एसेट्स को 404 या स्क्रिप्ट त्रुटियों के बिना लोड करते हैं।
  8. 08

    रोलबैक दस्तावेज़ीकरण करें

    सही जनरेशन, हेडर वर्ज़न, मालिक, और पुराने‑एसेट रिटेनशन अवधि रिकॉर्ड करें।

    सत्यापित करें: एक गैर‑उत्पादन ड्रिल ज्ञात‑अच्छी जनरेशन को बिना किसी इम्म्यूटेबल URL संपादित किए बहाल कर देती है।
चर्चा विषय

निजी डेटा नहीं — ट्रेडऑफ़ की तुलना करें।

इन संकेतों का उपयोग अपनी टीम या वेबसाइट-मालिक समुदाय के साथ करें। तरीके और सीख साझा करें, लेकिन कभी भी क्रेडेंशियल, ग्राहक रिकॉर्ड या गैर-सार्वजनिक इन्फ्रास्ट्रक्चर विवरण न चिपकाएँ।

  1. 01

    आपकी साइट पर कौन‑सी URL श्रेणियाँ सार्वजनिक, व्यक्तिगत, इम्म्यूटेबल, या बार‑बार बदलने वाली के रूप में वर्गीकृत करना सबसे कठिन हैं, और आप उस निर्णय को कैसे दस्तावेज़ कर रहे हैं?

  2. 02

    रिलीज़ अनुक्रमण परीक्षण में कौन‑सा टेस्ट पुराने‑HTML और नए‑एसेट मिसमैच को आगंतुकों के सामना करने से पहले पकड़ने में सबसे उपयोगी रहा है?

  3. 03

    आपके CDN, एप्लिकेशन, और ब्राउज़र कैश नियम कहाँ ओवरलैप होते हैं, और यह सत्यापित करने की जिम्मेदारी किसकी है कि उनका संयुक्त व्यवहार इच्छित नीति से मेल खाता है?

लोकप्रिय / प्रामाणिक संसाधन

स्रोत सामग्री खोलें।

IETFRFC 9111: HTTP Caching ↗

फ्रेशनेस, वैलिडेशन, कैश निर्देश, इनवैलिडेशन, और संवेदनशील‑सूचना सीमाओं को समझाता है।

समीक्षित 2026-09-27
IETFRFC 8246: HTTP Immutable Responses ↗

immutable कैशिंग को परिभाषित करता है, इसका स्कोप और करप्शन विचार बताता है।

समीक्षित 2026-09-27
MDN Web DocsHTTP caching ↗

वैलिडेटर्स, 304s, पर्सनलाइज़ेशन, और कैश‑बस्टिंग पर व्यावहारिक मार्गदर्शन।

समीक्षित 2026-09-27
MDN Web DocsCache-Control header ↗

max-age, s-maxage, no-cache, no-store, private, public, और must-revalidate के संदर्भ।

समीक्षित 2026-09-27
MDN Web DocsETag header ↗

एंटिटी टैग्स (ETag), If-None-Match, और 304 वैलिडेशन को समझाता है।

समीक्षित 2026-09-27
web.devPrevent unnecessary network requests with the HTTP Cache ↗

वर्जन्ड URL, वैलिडेटर्स, नीतियाँ, और डिप्लॉयमेंट पर व्यावहारिक मार्गदर्शन।

समीक्षित 2026-09-27

स्रोत नीति। यह लेख पढ़े गए मानकों और प्राथमिक‑पक्ष तकनीकी दस्तावेज़ों का उपयोग करता है। यह असमर्थित प्रदर्शन दावों से बचता है और HTTP नियमों को प्लेटफ़ॉर्म‑विशेष कॉन्फ़िगरेशन से अलग रखता है।

त्वरित स्पष्टीकरण

सामान्य प्रश्न।

क्या no-cache का मतलब है कि ब्राउज़र पेज स्टोर नहीं कर सकता?

नहीं। no-cache स्टोरेज की अनुमति देता है पर पुन: उपयोग से पहले ओरिजिन के साथ सफल वैलिडेशन आवश्यक करता है। जब प्रतिक्रिया स्टोर नहीं की जानी चाहिए तो केवल no-store का उपयोग करें, जबकि यह समझें कि no-store अकेला एक पूर्ण गोपनीयता गारंटी नहीं है।

क्या हर स्टैटिक फ़ाइल को एक साल की कैश लाइफ देना चाहिए?

नहीं। एक साल का max-age केवल तब उपयुक्त है जब URL की बाइट्स उस अवधि के दौरान नहीं बदलेंगी, आमतौर पर क्योंकि URL फिंगरप्रिंटेड या वर्जन्ड है। म्यूटेबल उसी‑URL फ़ाइलों को छोटा या वैलिडेशन‑प्राथमिक नीति चाहिए।

क्या CDN purge ब्राउज़र कैशिंग गलती ठीक कर सकता है?

यह मैनेज्ड शेयर‑कैश कॉपी हटा सकता है, पर यह हर ब्राउज़र को फ्रेश प्रतिक्रिया discard करने के लिए मजबूर नहीं कर सकता। नया वर्जन्ड एसेट URL प्रकाशित करें और HTML संदर्भ अपडेट करें; फिर ज़रूरी होने पर संगत जनरेशन को बहाल करने के लिए रोलबैक प्लान का उपयोग करें।

Status Is UP Editorial Team · Uptime Enablement संपादक

समीक्षित: वेब प्रदर्शन और रिलीज़ इंजीनियरिंग समीक्षक. प्रकाशित: 2026-09-27; अद्यतन: 2026-09-30.