CDN کیا ہے؟ کنٹینٹ ڈیلیوری نیٹ ورکس سادہ الفاظ میں
CDN (کنٹینٹ ڈیلیوری نیٹ ورک) مختلف شہروں میں پھیلے سرورز کا نیٹ ورک ہے جو آپ کی ویب سائٹ کی فائلوں کی نقلیں رکھتا ہے: تصاویر، اسکرپٹس، اسٹائل شیٹس اور کبھی کبھی پورے صفحات۔ جب کوئی آپ کی سائٹ دیکھتا ہے، تو اسے ایک دور کے واحد سرور کے بجائے اس کے قریب کے مقام سے فائلیں ملتی ہیں۔ اس سے صفحات تیزی سے لوڈ ہوتے ہیں، آپ کے اپنے سرور پر بوجھ کم پڑتا ہے، اور سائٹ ٹریفک کی اچانک بھیڑ سنبھال سکتی ہے۔
AI کے ساتھ تعمیر کرتے وقت CDN کیوں اہم ہیں
ہو سکتا ہے آپ کبھی خود CDN ترتیب نہ دیں، کیونکہ کئی ہوسٹنگ پلیٹ فارمز اسے خود بخود آپ کی سائٹ کے سامنے رکھ دیتے ہیں۔ لیکن آپ اس کے اثرات ضرور محسوس کریں گے:
- رفتار۔ تیزی سے لوڈ ہونے والے صفحات وزیٹرز کو روکے رکھتے ہیں، اور یہ ان چیزوں میں سے ہیں جن پر سرچ انجن غور کرتے ہیں۔ دیکھیں اپنی ویب سائٹ کو تیز کیسے کریں۔
- “میری تبدیلی کیوں نظر نہیں آ رہی؟” کوئی اپ ڈیٹ شائع کرنے کے بعد پرانے ورژن کی کیش شدہ نقل کچھ دیر تک رہ سکتی ہے۔ اس کی وجہ جاننے سے بہت الجھن بچتی ہے۔
- رازداری اور درستگی۔ اگر CDN غلط چیز کیش کر دے، جیسے کسی ایک صارف کی تفصیلات والا صفحہ، تو اگلا وزیٹر وہ دیکھ سکتا ہے۔ یہ جاننا کہ کیا کیش ہونا چاہیے اور کیا نہیں، آپ کو درست سوالات پوچھنے میں مدد دیتا ہے۔
روزمرہ کی مثال
تصور کریں ایک بیکری اپنی ڈبل روٹی ملک بھر میں ایک ہی دکان سے بیچتی ہے۔ ہر گاہک، چاہے کتنا ہی دور ہو، اس اکیلی دکان سے آنے والی ڈیلیوری کا انتظار کرتا ہے، اور مصروف دن میں قطار بہت لمبی ہو جاتی ہے۔
CDN ایسا ہے جیسے وہی ڈبل روٹی ملک بھر کی مقامی دکانوں میں رکھی جائے۔ گاہک قریب سے، جلدی لے لیتے ہیں، اور مرکزی بیکری کو کبھی کبھار ہی ان دکانوں کو دوبارہ بھرنا پڑتا ہے۔ مسئلہ یہ ہے کہ جب بیکری اپنی ترکیب بدلتی ہے، تو مقامی دکانیں اس وقت تک پرانی روٹی بیچتی رہتی ہیں جب تک انہیں بدلنے کو نہ کہا جائے یا پرانا اسٹاک ختم نہ ہو جائے۔
CDN کیسے کام کرتا ہے
- آپ کا origin۔ آپ کی سائٹ آپ کے مرکزی سرور یا ہوسٹنگ پلیٹ فارم پر رہتی ہے، جسے origin کہتے ہیں۔
- Edge مقامات۔ CDN کئی جگہوں پر سرورز چلاتا ہے، جنہیں edge locations یا points of presence کہتے ہیں۔
- روٹنگ۔ جب کوئی وزیٹر آپ کی سائٹ مانگتا ہے، تو DNS یا نیٹ ورک روٹنگ اسے قریبی edge کی طرف بھیجتی ہے۔ دیکھیں ڈومینز اور DNS کیسے کام کرتے ہیں۔
- Cache hit۔ اگر وہ edge کے پاس فائل کی تازہ نقل ہو، تو وہ فوراً بھیج دی جاتی ہے۔
- Cache miss۔ اگر نہ ہو، تو edge فائل آپ کے origin سے لاتا ہے، وزیٹر کو بھیجتا ہے، اور اگلے شخص کے لیے ایک نقل رکھ لیتا ہے۔
- میعاد ختم ہونا۔ ہر نقل ایک مقررہ وقت تک رکھی جاتی ہے، جو آپ کے سرور کے بھیجے گئے cache headers سے طے ہوتا ہے، یا جب تک اسے purge نہ کیا جائے۔
ایک عملی مثال: تصاویر والی پورٹ فولیو سائٹ
ایک فوٹوگرافر کی پورٹ فولیو سائٹ پر ہوم پیج، 60 بڑی تصاویر والی گیلری، اور ایک رابطہ فارم ہے۔ origin یورپ میں ہے۔ سنگاپور کا ایک وزیٹر گیلری کھولتا ہے۔
- CDN کے بغیر: ہر تصویر یورپ سے آتی ہے۔ ہر درخواست دنیا کا ایک چکر لگاتی ہے، اس لیے گیلری آہستہ بھرتی ہے۔
- CDN کے ساتھ: سنگاپور کے قریب پہلا وزیٹر edge کو تصاویر لانے اور محفوظ کرنے کا سبب بنتا ہے۔ اس خطے کے بعد کے ہر وزیٹر کو وہ قریب سے، کہیں تیزی سے ملتی ہیں۔
اب فوٹوگرافر ہوم پیج کی ہیرو تصویر بدل کر دوبارہ شائع کرتا ہے۔ یہ طے کرتا ہے کہ وزیٹرز اسے دیکھیں گے یا نہیں:
/index.html → short cache time, checked often
/assets/index-3f9a2c.js → cached for a long time
/assets/hero-8b41d0.jpg → cached for a long time
Vite سمیت جدید بلڈ ٹولز فائلوں کو hashed names دیتے ہیں، جیسے hero-8b41d0.jpg۔ جب فائل بدلتی ہے، اس کا نام بھی بدلتا ہے، تو صفحہ ایک بالکل نئی فائل مانگتا ہے جسے کسی کیش نے پہلے نہیں دیکھا۔ HTML صفحہ خود صرف مختصر وقت کے لیے کیش ہوتا ہے، اس لیے وہ جلد ہی وزیٹرز کو نئی فائلوں کی طرف لے جاتا ہے۔ طویل کیشنگ اور تازہ اپ ڈیٹس دونوں حاصل کرنے کا یہی معیاری طریقہ ہے۔
رابطہ فارم مختلف ہے۔ اس کی جمع کردہ معلومات ہر بار سرور تک جاتی ہیں، اور انہیں کبھی کیش نہیں ہونا چاہیے۔
کیا کیش کریں اور کیا نہیں
| عموماً طویل مدت کے لیے کیش کریں | عموماً مختصر مدت کے لیے کیش کریں | مشترکہ CDN میں کیش نہ کریں |
|---|---|---|
| تصاویر، فونٹس، ویڈیوز | عوامی سائٹ کے HTML صفحات | لاگ ان صفحات، ڈیش بورڈز |
| hashed ناموں والی JavaScript اور CSS | عوامی API ڈیٹا جو کبھی کبھار بدلتا ہے | ذاتی ڈیٹا والی ہر چیز |
| کم بدلنے والی ڈاؤن لوڈ فائلیں | فارم جمع کرانا، ادائیگیاں، کوئی بھی POST درخواست |
اہم اصطلاحات
| اصطلاح | مطلب |
|---|---|
| Origin | آپ کا مرکزی سرور یا ہوسٹ، جہاں اصل فائلیں رہتی ہیں۔ |
| Edge / PoP | CDN کا وہ مقام جو قریبی وزیٹرز کو سروس دیتا ہے۔ |
| Cache hit / miss | edge کے پاس فائل تھی / اسے origin سے لانا پڑا۔ |
| TTL | Time to live، یعنی کسی کیش شدہ نقل کو کتنی دیر رکھا جاتا ہے۔ |
| Cache-Control header | وہ ہدایت جو آپ کا سرور بھیجتا ہے کہ کوئی چیز کیش ہو سکتی ہے یا نہیں، اور کتنی دیر کے لیے۔ |
| Purge / invalidate | CDN کو کہنا کہ کیش شدہ نقلیں ابھی پھینک دے۔ |
| Cache busting | فائل بدلنے پر اس کا نام یا URL بدلنا، تاکہ کیش نیا ورژن لائے۔ |
| Latency | فاصلے اور نیٹ ورک کے مراحل سے پیدا ہونے والی تاخیر۔ |
عمومی طور پر کیشنگ، یعنی براؤزرز، سرورز اور ڈیٹابیسز میں، کے لیے دیکھیں کیشنگ کیا ہے۔
عام غلط فہمیاں
- “CDN ہر چیز کو تیز کر دیتا ہے۔” یہ فائلیں پہنچانے کو تیز کرتا ہے۔ سرور پر سست ڈیٹابیس کوئری یا سست AI کال پھر بھی سست رہتی ہے۔
- “CDN ہوسٹنگ کی جگہ لے لیتا ہے۔” یہ آپ کی ہوسٹنگ کے سامنے بیٹھتا ہے۔ آپ کو پھر بھی origin چاہیے۔
- “اگر میں نے سائٹ اپ ڈیٹ کی ہے تو سب کو فوراً نظر آ جائے گی۔” پرانی نقلیں CDN اور براؤزرز میں کچھ دیر رہ سکتی ہیں۔ چیک کرنے کے لیے ہارڈ ری فریش کریں، اور hashed فائل نام استعمال کریں۔
- “کیشنگ ہمیشہ محفوظ ہے۔” مشترکہ کیش میں ذاتی صفحہ محفوظ کرنا ایک حقیقی رازداری کا خطرہ ہے۔ نجی جوابات کو کیش نہ ہونے کے قابل نشان زد کرنا چاہیے۔
- “CDN صرف بڑی کمپنیوں کے لیے ہیں۔” کئی ہوسٹس چھوٹی سائٹس کے لیے بغیر اضافی محنت کے ایک شامل کر دیتے ہیں۔
AI بلڈر سے کیا پوچھیں
- “کیا اس سائٹ کے سامنے CDN ہے؟ یہ کون سی فائلیں کیش کرتا ہے، اور کتنی دیر کے لیے؟”
- “یقینی بنائیں کہ بنی ہوئی JavaScript، CSS اور تصاویر کے نام hashed ہوں اور طویل cache time ہو، جبکہ HTML کا cache time مختصر ہو۔”
- “لاگ ان صفحات یا ذاتی ڈیٹا والے API جوابات کو مشترکہ کیش میں کبھی کیش نہ کریں۔”
- “گیلری تیزی سے لوڈ ہو، اس کے لیے تصاویر کمپریس اور ری سائز کریں۔”
- “میں نے اپ ڈیٹ شائع کیا ہے مگر پرانا ورژن نظر آ رہا ہے، کیا یہ براؤزر کیش ہے یا CDN؟”
CDN اور Mythex
Mythex پر شائع کرتے وقت، جامد فرنٹ اینڈز کو static sites کے طور پر ڈیپلائے کیا جاتا ہے، اور دستاویزات بتاتی ہیں کہ اپ ڈیٹ کے بعد CDN کیش کچھ دیر پیچھے رہ سکتے ہیں: اگر دوبارہ شائع کرنے کے بعد بھی پرانا ورژن نظر آئے، تو عوامی URL کو ہارڈ ری فریش کریں۔ اس کے لیے کوئی ترتیب دینے کی ضرورت نہیں۔ اگر آپ کسی کسٹم ڈومین کو ایسے DNS سے جوڑیں جو Cloudflare پر ہو، تو دستاویزات کہتی ہیں کہ ریکارڈ کو “DNS only” پر رکھیں، proxied نہیں، تاکہ Mythex HTTPS درست طریقے سے جاری کر سکے۔ دستاویزات میں شائع کیسے کریں اور کسٹم ڈومینز دیکھیں، اور ویب ہوسٹنگ پر ہماری گائیڈ بھی۔
سوالات
سادہ الفاظ میں CDN کیا ہے؟
CDN (کنٹینٹ ڈیلیوری نیٹ ورک) کئی مقامات پر موجود سرورز کا نیٹ ورک ہے جو آپ کی ویب سائٹ کی فائلوں کی نقلیں رکھتا ہے۔ وزیٹرز کو ان کے قریب کے مقام سے فائلیں دی جاتی ہیں، نہ کہ آپ کے مرکزی سرور سے، اس لیے صفحات تیزی سے لوڈ ہوتے ہیں اور آپ کے سرور کا کام کم ہوتا ہے۔
سائٹ اپ ڈیٹ کرنے کے بعد مجھے پرانا ورژن کیوں نظر آتا ہے؟
عموماً اس لیے کہ پرانی فائل کی کاپی کیش میں ہوتی ہے، یعنی CDN میں، آپ کے براؤزر میں، یا دونوں میں۔ براؤزر کی حد تک ہارڈ ری فریش مسئلہ حل کرتا ہے؛ CDN کی نقلیں خود ختم ہو جاتی ہیں یا انہیں purge کیا جا سکتا ہے۔ بلڈ ٹولز بدلی ہوئی فائلوں کو نئے نام دے کر زیادہ تر مسئلہ ٹال دیتے ہیں۔
کیا چھوٹی ویب سائٹ کو CDN کی ضرورت ہے؟
اکثر آپ کے پاس یہ خود منتخب کیے بغیر ہوتا ہے، کیونکہ کئی ہوسٹنگ پلیٹ فارمز خود بخود سائٹس کے سامنے CDN رکھ دیتے ہیں۔ اگر آپ کے پاس نہ ہو اور آپ کے وزیٹرز مختلف ملکوں میں پھیلے ہوں، تو اسے شامل کرنا عموماً فائدہ مند ہے۔
کیا CDN میری ایپ کا ڈیٹا اور لاگ ان صفحات کیش کر سکتا ہے؟
یہ وہ سب کیش کر سکتا ہے جس کی اسے اجازت ہو، اسی لیے اسے احتیاط سے ترتیب دینا ضروری ہے۔ عوامی فائلیں جیسے تصاویر، اسکرپٹس اور اسٹائلز مثالی ہیں۔ ذاتی یا لاگ ان مواد کو عموماً مشترکہ CDN میں کیش نہیں کرنا چاہیے، ورنہ ایک صارف دوسرے کا ڈیٹا دیکھ سکتا ہے۔