CDN क्या है? Content Delivery Network को आसान भाषा में समझें
CDN (content delivery network) दुनिया के कई शहरों में फैले सर्वरों का नेटवर्क है, जो आपकी वेबसाइट की फ़ाइलों की कॉपी रखते हैं — images, scripts, stylesheets, और कभी-कभी पूरे पेज भी। जब कोई आपकी साइट खोलता है, तो उसे दूर के किसी एक सर्वर की बजाय उसके नज़दीकी स्थान से फ़ाइलें मिलती हैं। इससे पेज तेज़ लोड होते हैं, आपके अपने सर्वर पर बोझ कम पड़ता है और ट्रैफ़िक की अचानक बढ़ोतरी को संभालना आसान होता है।
AI से बनाते समय CDN क्यों मायने रखता है
हो सकता है आपने CDN खुद कभी सेट न किया हो — कई hosting platforms आपकी साइट के आगे एक CDN अपने आप लगा देते हैं। पर उसका असर आप ज़रूर महसूस करेंगे:
- गति। तेज़ लोड होने वाले पेज विज़िटर को रोके रखते हैं, और search engines इसे देखते हैं। देखें अपनी वेबसाइट को तेज़ कैसे बनाएं।
- "मेरा बदलाव क्यों नहीं दिख रहा?" अपडेट publish करने के बाद पुरानी फ़ाइल की कैश कॉपी कुछ देर तक रह सकती है। यह समझ लेने से काफ़ी उलझन बच जाती है।
- गोपनीयता और सही डेटा। अगर CDN गलत चीज़ कैश कर दे — जैसे किसी एक यूज़र की जानकारी वाला पेज — तो अगला विज़िटर वह देख सकता है। क्या कैश होना चाहिए और क्या नहीं, यह जानने से आप सही सवाल पूछ पाते हैं।
रोज़मर्रा की एक मिसाल
सोचिए एक बेकरी अपनी ब्रेड पूरे देश में एक ही दुकान से बेचती है। हर ग्राहक, चाहे कितनी भी दूर हो, उसी एक दुकान से डिलीवरी का इंतज़ार करता है — और व्यस्त दिनों में लाइन बहुत लंबी हो जाती है।
CDN ऐसा है जैसे उसी ब्रेड को देश भर की स्थानीय दुकानों में रखना। ग्राहक पास की दुकान से जल्दी ले लेते हैं, और मुख्य बेकरी को बीच-बीच में सिर्फ़ उन दुकानों को दोबारा भरना होता है। पर एक पेच है: जब बेकरी अपनी रेसिपी बदलती है, तो स्थानीय दुकानें तब तक पुरानी ब्रेड बेचती रहती हैं जब तक उन्हें बदलने का कहा न जाए या पुराना स्टॉक खत्म न हो जाए।
CDN कैसे काम करता है
- आपका origin। आपकी साइट आपके मुख्य सर्वर या hosting platform पर रहती है — इसे origin कहते हैं।
- Edge locations। CDN कई जगहों पर सर्वर चलाता है, जिन्हें edge locations या points of presence कहते हैं।
- Routing। जब कोई विज़िटर आपकी साइट माँगता है, तो DNS या नेटवर्क routing उसे नज़दीकी edge पर भेजता है। देखें domains और DNS कैसे काम करते हैं।
- Cache hit। अगर उस edge के पास फ़ाइल की ताज़ा कॉपी है, तो वह तुरंत भेज देता है।
- Cache miss। अगर नहीं है, तो edge origin से फ़ाइल लाता है, विज़िटर को देता है, और अगले व्यक्ति के लिए एक कॉपी रख लेता है।
- Expiry। हर कॉपी एक तय समय तक रहती है, जो आपके सर्वर द्वारा भेजे गए cache headers से तय होता है, या purge होने तक।
एक उदाहरण: तस्वीरों वाली पोर्टफ़ोलियो साइट
एक फ़ोटोग्राफ़र की पोर्टफ़ोलियो साइट पर होम पेज, 60 बड़ी तस्वीरों वाली गैलरी और एक contact form है। Origin यूरोप में है। सिंगापुर का एक विज़िटर गैलरी खोलता है।
- CDN के बिना: हर तस्वीर यूरोप से आती है। हर request दुनिया का चक्कर लगाती है, इसलिए गैलरी धीरे-धीरे भरती है।
- CDN के साथ: सिंगापुर के पास वाला पहला विज़िटर edge को तस्वीरें लाने और रखने का कारण बनता है। उस क्षेत्र के हर बाद वाले विज़िटर को वे नज़दीक से, कहीं तेज़ मिलती हैं।
अब फ़ोटोग्राफ़र होम पेज की hero तस्वीर बदलकर फिर से publish करता है। यह तय करता है कि विज़िटर उसे देखेंगे या नहीं:
/index.html → छोटा cache समय, बार-बार जाँचा जाता है
/assets/index-3f9a2c.js → लंबे समय तक कैश
/assets/hero-8b41d0.jpg → लंबे समय तक कैश
Vite सहित आधुनिक build tools फ़ाइलों को hashed names देते हैं, जैसे hero-8b41d0.jpg। जब फ़ाइल बदलती है, तो उसका नाम भी बदल जाता है, इसलिए पेज एक ऐसी नई फ़ाइल माँगता है जिसे किसी कैश ने पहले नहीं देखा। HTML पेज खुद केवल थोड़ी देर कैश होता है, इसलिए वह जल्दी ही विज़िटरों को नई फ़ाइलों की ओर ले जाता है। लंबा कैश और ताज़ा अपडेट दोनों पाने का यही सामान्य तरीका है।
Contact form अलग है। उसके submissions हर बार सर्वर पर जाते हैं; उन्हें कभी कैश नहीं करना चाहिए।
क्या कैश करें और क्या नहीं
| आम तौर पर लंबे समय तक कैश करें | आम तौर पर थोड़ी देर कैश करें | साझा CDN में कैश न करें |
|---|---|---|
| Images, fonts, videos | सार्वजनिक साइट के HTML पेज | लॉग-इन वाले पेज, dashboards |
| Hashed नाम वाली JavaScript और CSS | कभी-कभार बदलने वाला सार्वजनिक API डेटा | निजी डेटा वाली कोई भी चीज़ |
| कम बदलने वाली downloadable फ़ाइलें | Form submissions, payments, कोई भी POST request |
मुख्य शब्द
| शब्द | मतलब |
|---|---|
| Origin | आपका मुख्य सर्वर या host, जहाँ असली फ़ाइलें रहती हैं। |
| Edge / PoP | CDN का वह स्थान जो पास के विज़िटरों को सेवा देता है। |
| Cache hit / miss | Edge के पास फ़ाइल थी / उसे origin से लाना पड़ा। |
| TTL | Time to live — कैश की गई कॉपी कितनी देर रखी जाती है। |
| Cache-Control header | आपके सर्वर द्वारा भेजा गया निर्देश कि कोई चीज़ कैश हो सकती है या नहीं और कितनी देर। |
| Purge / invalidate | CDN को अभी कैश की गई कॉपियाँ हटाने को कहना। |
| Cache busting | बदलने पर फ़ाइल का नाम या URL बदल देना, ताकि कैश नई फ़ाइल लाए। |
| Latency | दूरी और नेटवर्क hops से होने वाली देरी। |
ब्राउज़र, सर्वर और डेटाबेस में कैशिंग के बारे में आम तौर पर जानने के लिए देखें caching क्या है।
आम गलतफ़हमियाँ
- "CDN हर चीज़ को तेज़ बना देता है।" यह फ़ाइलें पहुँचाने की गति बढ़ाता है। सर्वर पर धीमी database query या धीमी AI call फिर भी धीमी रहेगी।
- "CDN hosting की जगह ले लेता है।" यह आपके hosting के आगे बैठता है। आपको अब भी origin चाहिए।
- "अगर मैंने साइट अपडेट की, तो सबको तुरंत दिख जाएगी।" पुरानी कॉपियाँ CDN और ब्राउज़र में थोड़ी देर रह सकती हैं। जाँचने के लिए हार्ड रिफ़्रेश करें, और hashed फ़ाइल नाम इस्तेमाल करें।
- "कैशिंग हमेशा सुरक्षित है।" किसी निजीकृत पेज को साझा कैश में रखना गोपनीयता का असली जोखिम है। निजी responses को न-कैश होने योग्य चिह्नित करना चाहिए।
- "CDN केवल बड़ी कंपनियों के लिए हैं।" कई hosts छोटी साइटों के लिए बिना अतिरिक्त मेहनत के एक शामिल कर देते हैं।
अपने AI builder से क्या पूछें
- "क्या इस साइट के आगे कोई CDN है? वह कौन सी फ़ाइलें कैश करता है, और कितनी देर के लिए?"
- "पक्का करें कि build की गई JavaScript, CSS और images के hashed फ़ाइल नाम और लंबा cache समय हो, और HTML का छोटा।"
- "लॉग-इन वाले पेज या निजी डेटा वाले API responses को साझा CDN में कभी कैश न करें।"
- "Images को कंप्रेस और resize करें, ताकि गैलरी जल्दी लोड हो।"
- "मैंने अपडेट publish किया लेकिन अब भी पुराना वर्शन दिख रहा है — क्या यह ब्राउज़र कैश है या CDN?"
CDN और Mythex
Mythex पर publish करने पर static front ends को static sites के रूप में deploy किया जाता है, और docs बताते हैं कि अपडेट के बाद CDN कैश थोड़ी देर पीछे रह सकते हैं: अगर दोबारा publish करने के बाद भी पुराना वर्शन दिखे, तो सार्वजनिक URL पर हार्ड रिफ़्रेश करें। इसके लिए कुछ सेट करने की ज़रूरत नहीं है। अगर आप ऐसा custom domain जोड़ते हैं जिसका DNS Cloudflare पर है, तो docs आपसे record को "proxied" की बजाय "DNS only" पर रखने को कहते हैं, ताकि Mythex HTTPS सही तरीके से जारी कर सके। देखें publish कैसे करें और custom domains docs में, और हमारी गाइड web hosting भी पढ़ें।
सवाल
सरल शब्दों में CDN क्या है?
CDN (content delivery network) कई जगहों पर फैले सर्वरों का नेटवर्क है, जो आपकी वेबसाइट की फ़ाइलों की कॉपी रखते हैं। विज़िटर को आपके मुख्य सर्वर की बजाय उनके नज़दीकी स्थान से फ़ाइलें मिलती हैं, इसलिए पेज तेज़ खुलते हैं और आपके सर्वर पर काम कम पड़ता है।
साइट अपडेट करने के बाद भी मुझे पुराना वर्शन क्यों दिखता है?
आम तौर पर इसलिए कि पुरानी फ़ाइल की कॉपी कैश में रखी है — CDN में, आपके ब्राउज़र में, या दोनों में। ब्राउज़र वाली समस्या हार्ड रिफ़्रेश से ठीक होती है; CDN की कॉपियाँ अपने आप समाप्त होती हैं या उन्हें purge किया जा सकता है। Build tools बदली हुई फ़ाइलों को नए नाम देकर ज़्यादातर इस समस्या से बच जाते हैं।
क्या छोटी वेबसाइट के लिए CDN चाहिए?
अक्सर आपके पास यह बिना चुने भी होता है, क्योंकि कई hosting platforms अपने आप साइटों के आगे CDN लगा देते हैं। अगर आपके पास नहीं है और आपके विज़िटर कई देशों में फैले हैं, तो इसे जोड़ना आम तौर पर फ़ायदेमंद रहता है।
क्या CDN मेरे ऐप का डेटा और लॉग-इन वाले पेज कैश कर सकता है?
वह वही कैश कर सकता है जिसकी उसे अनुमति हो, इसीलिए इसे सावधानी से सेट करना ज़रूरी है। Images, scripts और styles जैसी सार्वजनिक फ़ाइलें सबसे उपयुक्त हैं। निजी या लॉग-इन वाली सामग्री को आम तौर पर साझा CDN में कैश नहीं करना चाहिए, वरना एक यूज़र का डेटा दूसरा देख सकता है।