آنچه در این مقاله میخوانید
- CDN چیست و چرا فاصله بین کاربر و سرور اهمیت دارد؟
- CDN چگونه کار میکند؟ از Origin Server تا Edge Server
- سرویس CDN شامل چه خدماتی است؟
- کاربردهای CDN چیست؟
- انواع CDN کداماند؟
- تفاوت CDN و هاست چیست؟
- کش در CDN چگونه کار میکند؟ محتوای Static و Dynamic
- مزایای CDN برای سرعت، پایداری، هزینه و امنیت چیست؟
- چه زمانی به CDN نیاز داریم و چه زمانی نه؟
- CDN چه زمانی انتخاب درستی است؟
- سوالات متداول درباره CDN
CDN (مخفف Content Delivery Network) یا شبکه توزیع محتوا، شبکهای از سرورهای توزیعشده در نقاط مختلف جغرافیایی است که وظیفه تحویل سریعتر و امنتر محتوای سایت به کاربران را بر عهده دارد. با استفاده از سرویس CDN، اطلاعات سایت شما (مانند تصاویر و فایلها) بهجای یک سرور مرکزی، از نزدیکترین سرور به موقعیت مکانی کاربر (سرور لبه) بارگذاری میشود.
برای درک بهتر این موضوع، یک فروشگاه اینترنتی را تصور کنید که تصاویر محصولات و اطلاعات کاربرانش روی یک سرور اصلی (هاست) قرار دارد. تا زمانی که تعداد بازدیدکنندگان کم است، مشکلی نیست. اما با شروع یک کمپین فروش، هزاران درخواست باید مسیر طولانی را تا همان سرور طی کنند. در این شرایط، سرویس سی دی ان وارد عمل شده و نسخهای از محتوا را از سروری نزدیکتر به کاربر ارائه میکند تا هم سرعت لود سایت بالا برود و هم فشار روی سرور اصلی کاهش یابد.
CDN چیست و چرا فاصله بین کاربر و سرور اهمیت دارد؟
CDN یا شبکه توزیع محتوا، مجموعهای از سرورهای توزیعشده است که بخشی از محتوای وبسایت یا برنامه را از نقاط مختلف شبکه به کاربران تحویل میدهد. بدون CDN، بسیاری از درخواستها مستقیماً به سرور مبدأ یا Origin Server میرسند. در معماری CDN، نسخهای معتبر از محتوای مناسب میتواند روی سرور لبه یا Edge Server (سروری در شبکه CDN که محتوا را از نقطهای مناسبتر در شبکه به کاربر تحویل میدهد.) قرار گیرد.
این نقطه مناسبتر لزوماً نزدیکترین موقعیت جغرافیایی به کاربر نیست؛ عواملی مانند تأخیر شبکه، وضعیت مسیر، سلامت سرورها و ظرفیت زیرساخت نیز میتوانند در انتخاب آن نقش داشته باشند. برای مثال، اگر تصویر یک محصول روی سرور لبه کش شده باشد، درخواستهای بعدی برای همان تصویر میتوانند بدون مراجعه دوباره به سرور مبدأ پاسخ داده شوند. در نتیجه، مسیر تحویل محتوا در بسیاری از درخواستها کوتاهتر میشود و تعداد درخواستهای مستقیم به سرور اصلی نیز کاهش پیدا میکند.

Cloudflare در تعریف CDN میگوید:
«شبکه توزیع محتوا گروهی از سرورهای پراکنده جغرافیایی است که محتوا را در نزدیکی کاربران نهایی کش میکند.» منبع نقلقول: Cloudflare
CDN مخفف چیست؟
CDN مخفف Content Delivery Network است و در فارسی معمولاً «شبکه توزیع محتوا» یا «شبکه تحویل محتوا» نامیده میشود. بنابراین عبارتهای «سی دی ان چیست» و «سرویس CDN چیست» در عمل به همین معماری اشاره دارند.
CDN چگونه کار میکند؟ از Origin Server تا Edge Server
وقتی کاربر آدرس یک وبسایت را در مرورگر وارد میکند، CDN باید مشخص کند درخواست او از کدام نقطه شبکه پاسخ داده شود. این انتخاب فقط بر اساس فاصله جغرافیایی انجام نمیشود؛ عواملی مانند تأخیر شبکه، وضعیت دسترسپذیری سرورها، سلامت PoP ها، ظرفیت شبکه و مسیر ارتباطی نیز میتوانند در تصمیمگیری نقش داشته باشند.
در این فرایند، فناوریهایی مانند Anycast و GSLB برای هدایت و توزیع ترافیک استفاده میشوند. در Anycast، یک آدرس IP میتواند از چند نقطه مختلف شبکه در دسترس باشد و ترافیک براساس شرایط شبکه به یکی از آنها هدایت شود. GSLB نیز به توزیع درخواستها میان چند مقصد یا موقعیت مختلف کمک میکند. این فناوریها صرفاً «الگوریتم DNS» نیستند، هرچند DNS میتواند بخشی از فرایند هدایت درخواست باشد. برای آشنایی بیشتر با این بخش از معماری میتوانید صفحه سرویس DNS ابرآمد را مطالعه کنید.
به صورت خلاصه، جریان ساده درخواست چنین است:

سرویس CDN شامل چه خدماتی است؟
هنگامی که شما یک سرویس CDN تهیه میکنید، در واقع فقط یک سرور نمیخرید، بلکه به شبکهای از زیرساختهای جهانی یا ملی متصل میشوید. یک سرویس CDN استاندارد معمولاً امکانات زیر را به سایت شما اضافه میکند:
- سرورهای لبه (Edge Servers): برای کش کردن (Cache) و نگهداری محتوای استاتیک نزدیک به کاربران.
- سیستمهای امنیتی (WAF و Anti-DDoS): برای دفع حملات سایبری قبل از رسیدن به سرور اصلی (Origin Server).
- مسیریابی هوشمند (Anycast): برای هدایت هر کاربر به بهترین و خلوتترین سرور موجود در شبکه.
- بهینهسازی ترافیک: کاهش مصرف پهنای باند هاست اصلی و در نتیجه کاهش هزینههای زیرساخت.
کاربردهای CDN چیست؟
CDN در هر سرویسی که نیاز به تحویل سریع و پایدار محتوا به کاربران مختلف داشته باشد، میتواند کاربرد داشته باشد. رایجترین کاربردهای CDN عبارتاند از:
- وبسایتها و فروشگاههای اینترنتی: تحویل سریعتر تصاویر، فایلهای CSS و JavaScript و کاهش فشار روی سرور اصلی، بهویژه در دورههای پرترافیک.
- ویدئو و محتوای صوتی: توزیع ویدئوهای آنلاین، پخش زنده و محتوای درخواستی میان کاربران مناطق مختلف.
- دانلود و توزیع فایلهای حجیم: ارائه فایلهای نرمافزاری، بهروزرسانیها، فایلهای نصب و محتوای حجیم بدون ارسال هر درخواست از سرور مبدأ.
- برنامههای تحت وب و APIها: برخی CDNها میتوانند علاوه بر محتوای ثابت، مسیر تحویل پاسخهای پویا و ارتباط میان کاربر و سرور مبدأ را نیز بهینه کنند.
- بازیهای آنلاین: توزیع فایلهای بازی، بهروزرسانیها و محتوای موردنیاز کاربران و کاهش تأخیر در دریافت این منابع.
بنابراین کاربرد CDN فقط به سایتهای معمولی محدود نیست و سرویسهای رسانهای، فروشگاههای آنلاین، برنامههای تحت وب و سامانههای توزیع فایل نیز میتوانند از آن استفاده کنند. یکی از مهمترین کاربردهای CDN در وبسایتها، کمک به بهبود سرعت تحویل محتوا و کاهش زمان بارگذاری منابع است. در ادامه بررسی میکنیم CDN از چه روشهایی میتواند به افزایش سرعت لود سایت کمک کند.
CDN چگونه به افزایش سرعت لود سایت کمک میکند؟
CDN از چند مسیر میتواند زمان دریافت محتوای سایت را کاهش دهد. میزان این بهبود به عواملی مانند محل کاربران، نوع محتوا، تنظیمات حافظه کش و معماری سایت بستگی دارد.
- کاهش فاصله شبکه تا کاربر: وقتی محتوای مورد نیاز از یک Edge Server مناسبتر به کاربر تحویل داده شود، دادهها در بسیاری از موارد مسیر کوتاهتری نسبت به سرور مبدأ طی میکنند. این موضوع میتواند تأخیر شبکه را کاهش دهد و دریافت تصاویر یا فایلهای CSS و JavaScript را سریعتر کند.
- تحویل محتوا از حافظهکش: اگر فایل مورد نظر در حافظهکش سرور لبه موجود و معتبر باشد، سیدیان میتواند بدون مراجعه دوباره به سرور اصلی، آن را به کاربر تحویل دهد. در نتیجه، زمان انتظار برای دریافت محتوا و تعداد درخواستهای مستقیم به سرور اصلی کاهش پیدا میکند.
- کاهش فشار روی سرور مبدأ: پاسخگویی به بخشی از درخواستها در Edge باعث میشود Origin درخواستهای کمتری پردازش کند. این موضوع بهویژه در زمان افزایش ترافیک میتواند به حفظ عملکرد پایدارتر زیرساخت اصلی کمک کند.
بنابراین CDN بیشترین تأثیر را زمانی دارد که بخش قابلتوجهی از محتوای سایت قابل کش باشد یا کاربران از موقعیتهای مختلف به سرویس دسترسی داشته باشند. اگر علت اصلی کندی در بخش سمت سرور، پایگاه داده یا کد برنامه باشد، CDN بهتنهایی نمیتواند مشکل را برطرف کند.
انواع CDN کداماند؟
CDNها یک دستهبندی واحد ندارند و میتوان آنها را براساس مالکیت زیرساخت، نحوه دریافت محتوا یا معماری توزیع ترافیک تقسیم کرد. رایجترین مدلها شامل CDN عمومی و خصوصی، Push و Pull و معماری Multi-CDN هستند.
CDN عمومی و CDN خصوصی
CDN عمومی (Public CDN) زیرساختی است که یک ارائهدهنده در اختیار چندین مشتری قرار میدهد و مدیریت شبکه، سرورها و نقاط حضور را بر عهده دارد. در مقابل، CDN خصوصی (Private CDN) برای یک سازمان یا مجموعه مشخص طراحی میشود و منابع آن به همان سازمان اختصاص دارد. این مدل معمولاً زمانی مطرح میشود که کنترل بیشتر بر زیرساخت، امنیت یا محل قرارگیری سرورها اهمیت داشته باشد.
Pull CDN و Push CDN
در Pull CDN، محتوا هنگام اولین درخواست از سرور مبدأ دریافت و در Edge کش میشود. درخواستهای بعدی میتوانند همان نسخه کششده را دریافت کنند و نیازی به انتقال دوباره فایل از Origin نباشد. در Push CDN، محتوا از قبل به فضای ذخیرهسازی CDN منتقل میشود. این روش بیشتر برای فایلهایی کاربرد دارد که صاحب سرویس میخواهد آنها را پیش از درخواست کاربران در زیرساخت CDN قرار دهد. برخی ارائهدهندگان CDN هر دو مدل Push و Pull را پشتیبانی میکنند.
Multi-CDN چیست؟
Multi-CDN به معماری استفاده همزمان از بیش از یک ارائهدهنده CDN گفته میشود. در این مدل، ترافیک میتواند براساس عواملی مانند عملکرد، دسترسپذیری یا هزینه بین چند شبکه CDN توزیع شود. این رویکرد بیشتر در سرویسهای بزرگ یا حساس به دسترسپذیری کاربرد دارد و به سازمان اجازه میدهد وابستگی خود را به یک شبکه CDN کاهش دهد.
تفاوت CDN و هاست چیست؟
CDN جایگزین هاست یا سرور اصلی نیست؛ بلکه معمولاً مکمل آن است. هاست، سرور یا زیرساخت ابری جایی است که برنامه، پایگاه داده و نسخه اصلی فایلها قرار دارند. CDN در مقابل، لایهای میان کاربر و سرور اصلی ایجاد میکند تا بخشی از محتوا را کش و توزیع کند تا تعداد درخواستهای مستقیم به زیرساخت اصلی کاهش یابد. سرور اصلی میتواند روی زیرساخت فیزیکی، سرویس میزبانی یا بستر ابری قرار داشته باشد. برای مثال، سرور ابری ابرآمد میتواند نقش زیرساخت اصلی یک برنامه را داشته باشد و CDN بخشی از تحویل محتوا را بر عهده بگیرد. برای شناخت مدل زیرساخت ابری نیز، مقاله رایانش ابری چیست توضیح کاملتری ارائه میدهد.
تفاوت اصلی CDN و هاست را میتوان در جدول زیر مشاهده کرد:
| معیار | هاست اصلی / Origin | CDN |
| نگهداری نسخه اصلی داده | بله | خیر |
| مدل توزیع محتوا | متمرکز | توزیعشده |
| اجرای Backend و Database | معمولاً در Origin | نقش فرعی |
| کش محتوا | روی زیرساخت Origin | روی Edge Server ها |
| مسیر دریافت محتوا | کاربر به سرور مبدأ | کاربر به سرور لبه |
| فشار درخواست روی سرور اصلی | بیشتر | کمتر |
| نقش در معماری | میزبانی و اجرای برنامه | توزیع و تحویل محتوا |
| جایگاه نسبت به یکدیگر | زیرساخت اصلی | لایه مکمل Origin |
با توجه به جدول بالا، CDN محل اصلی اجرای سایت نیست؛ بلکه شیوه دسترسی کاربران به بخشی از منابع آن را بهینه میکند.
کش در CDN چگونه کار میکند؟ محتوای Static و Dynamic
CDN معمولاً یک نسخه کامل و یکسان از سایت را روی تمام سرورها نگه نمیدارد. اینکه چه پاسخی، در کدام نقطه و برای چه مدتی ذخیره شود به سیاست کش، Header های HTTP، تنظیمات ارائهدهنده و ماهیت محتوا بستگی دارد. در نتیجه، بهرهگیری مؤثر از CDN فقط به فعالکردن سرویس محدود نمیشود و به تنظیم درست سیاستهای کش (Cache Policy) نیز وابسته است.
محتوای Static چیست و چرا برای Cache مناسب است؟
محتوای ایستا یا Static معمولاً بین کاربران یکسان است و برای تولید هر پاسخ به پردازش اختصاصی نیاز ندارد. تصاویر، فایلهای CSS و JavaScript، فونتها، فایلهای دانلود، ویدئوها و برخی صفحههای HTML عمومی از نمونههای رایج هستند. این منابع گزینههای مناسبی برای کش به شمار میروند، زیرا یک نسخه از آنها میتواند پاسخگوی تعداد زیادی درخواست باشد.
بااینحال، استاتیک بودن یک فایل به این معنا نیست که همیشه و بهصورت خودکار کش میشود. تنظیمات Cache میتوانند مشخص کنند یک فایل اصلاً ذخیره نشود، فقط برای مدت کوتاهی معتبر بماند یا در شرایط خاص از سرور اصلی دریافت شود. همچنین اگر نسخه جدیدی از فایل منتشر شود اما نسخه قبلی هنوز در Cache معتبر باشد، ممکن است کاربر تا زمان پایان اعتبار یا پاکسازی کش همان نسخه قدیمی را دریافت کند.

محتوای Dynamic چه زمانی کش میشود و چه زمانی نباید کش شود؟
محتوای پویا یا Dynamic Content بر اساس کاربر، وضعیت برنامه یا نوع درخواست تغییر میکند؛ مانند سبد خرید، داشبورد، اطلاعات حساب کاربری و برخی پاسخهای API. این نوع محتوا باید با دقت بیشتری کش شود، زیرا ذخیره مشترک اطلاعات شخصی بدون تنظیمات صحیح میتواند باعث نمایش دادههای نادرست یا حتی اطلاعات یک کاربر به کاربر دیگر شود.
یکی از ابزارهای کنترل این موضوع Cache Key است. Cache Key مشخص میکند CDN چه درخواستهایی را یکسان در نظر بگیرد و چه زمانی نسخه جداگانهای از محتوا ایجاد کند. برای مثال، اطلاعاتی مانند Cookie، Query String یا Header میتوانند در تشخیص این تفاوت نقش داشته باشند. بااینحال، این تصور که «محتوای Dynamic قابل کش نیست» درست نیست. بعضی پاسخهای پویا، در صورتی که برای گروهی از کاربران یکسان باشند و سیاست کش مناسبی داشته باشند، میتوانند در Edge ذخیره شوند. حتی زمانی که کشکردن محتوا مناسب نیست، CDN میتواند با بهینهسازی مسیر و ارتباط میان Edge و Origin به تحویل سریعتر پاسخ کمک کند.
AWS در توضیح این قابلیت میگوید:
«CDN حتی در تحویل محتوای پویا نیز میتواند با بهینهکردن ارتباط میان کاربر و سرور مبدأ، زمان دریافت پاسخ را کاهش دهد.». منبع: AWS
مزایای CDN برای سرعت، پایداری، هزینه و امنیت چیست؟
مهمترین مزایای CDN عبارتاند از:
- افزایش سرعت تحویل محتوا: CDN بخشی از فایلها را از سرورهای لبه در اختیار کاربر قرار میدهد و میتواند مسیر دریافت محتوا را کوتاهتر کند. این موضوع به کاهش تأخیر و بارگذاری سریعتر منابعی مانند تصاویر، CSS و JavaScript کمک میکند.
- کاهش فشار و مصرف پهنای باند سرور مبدأ: با پاسخگویی به درخواستهای تکراری از Cache، تعداد درخواستهای ارسالی به سرور اصلی کمتر میشود. در نتیجه، مصرف پهنای باند و بار سرور مبدأ نیز میتواند کاهش پیدا کند.
- مدیریت بهتر افزایش ناگهانی ترافیک: هنگام کمپینهای فروش یا انتشار محتوای پربازدید، بخشی از درخواستها توسط سرورهای لبه پاسخ داده میشوند و همه ترافیک مستقیماً روی سرور اصلی قرار نمیگیرد.
- افزایش دسترسپذیری: معماری توزیعشده CDN میتواند در صورت اختلال یا از دسترس خارجشدن بخشی از شبکه، امکان پاسخگویی از نقاط دیگر را فراهم کند. البته میزان این قابلیت به معماری و امکانات سرویس CDN بستگی دارد.
- تقویت امنیت در لبه شبکه: برخی CDN ها امکاناتی مانند مقابله با DDoS، مدیریت TLS و فایروال برنامه وب (WAF) را ارائه میکنند و میتوانند بخشی از ترافیک مخرب را پیش از رسیدن به سرور اصلی کنترل کنند. برای آشنایی بیشتر با این موضوع میتوانید مقاله WAF چیست را مطالعه کنید.
چه زمانی به CDN نیاز داریم و چه زمانی نه؟
CDN زمانی ارزش بیشتری ایجاد میکند که مسئلهای مشخص در تحویل محتوا یا مدیریت ترافیک وجود داشته باشد. پراکندگی جغرافیایی کاربران، حجم زیاد فایلها، افزایش ناگهانی ترافیک و فشار روی Origin از مهمترین نشانههایی هستند که بررسی CDN را منطقی میکنند.
برای یک ارزیابی اولیه میتوان شرایط زیر را در نظر گرفت:
| شرایط سایت یا کسبوکار | ارزش استفاده از CDN |
| کاربران در مناطق جغرافیایی مختلف | زیاد |
| حجم بالای تصاویر، فایل یا ویدئو | زیاد |
| کمپینها و افزایش ناگهانی ترافیک | زیاد |
| مصرف بالای پهنای باند سرور | زیاد |
| نیاز به مقابله با DDoS یا WAF در Edge | زیاد |
| سایت کوچک با کاربران محدود | متوسط |
| کندی اصلی در Backend یا Database | محدود |
ارزش تجاری CDN چیست؟
با کاهش درخواستهای مستقیم به سرور مبدأ، CDN میتواند مصرف پهنای باند و فشار روی زیرساخت اصلی را کاهش دهد و بسته به مدل قیمتگذاری، به بهینهترشدن هزینههای زیرساخت کمک کند. از طرف دیگر، سرعت و دسترسپذیری بهتر میتواند تجربه کاربران را بهبود دهد. در پژوهشی از سوی Google نیز ارتباط میان بهبود عملکرد وب و شاخصهایی مانند نرخ تبدیل و ارزش سفارش نشان داده شده است؛ هرچند CDN تنها یکی از عوامل مؤثر بر عملکرد سایت است.
برای مثال، یک فروشگاه اینترنتی با تصاویر زیاد، کاربران پراکنده و دورههای پرترافیک معمولاً میتواند ارزش بیشتری از CDN دریافت کند. در مقابل، برای یک سامانه داخلی با کاربران محدود یا سایتی که علت اصلی کندی آن در بخش سمت سرور یا پایگاه داده است، ابتدا باید مسئله اصلی زیرساخت بررسی شود. پس از این ارزیابی، میتوان امکانات و شرایط سرویس CDN ابرآمد را با نیاز واقعی سایت مقایسه کرد.
CDN چه زمانی انتخاب درستی است؟
در این مقاله از ابرآمد، دیدیم که CDN شبکهای از سرورهای توزیعشده است که با تحویل بخشی از محتوا از نقاط مختلف شبکه، میتواند فشار روی سرور مبدأ را کاهش دهد و دسترسی کاربران به محتوا را بهبود دهد. در پاسخ به این سؤال که CDN چیست، میتوان آن را یک لایه مکمل میان کاربر و زیرساخت اصلی دانست؛ نه جایگزینی برای هاست، بکاند یا پایگاه داده. استفاده از CDN بیشتر برای سایتهایی ارزشمند است که کاربران پراکنده، محتوای قابل کش زیاد یا دورههای پرترافیک دارند. با این حال، اگر علت اصلی کندی در Backend یا Database باشد، ابتدا باید همان بخش بهینهسازی شود. بنابراین پیش از انتخاب CDN بهتر است عواملی مانند محل کاربران، نوع محتوا، میزان فشار روی سرور مبدأ، هزینه زیرساخت و امکانات سرویسهای مختلف بررسی شوند.
سوالات متداول درباره CDN
هزینه سرویس CDN چگونه محاسبه میشود؟
هزینه سرویس CDN معمولاً به عواملی مانند حجم ترافیک مصرفی، موقعیت کاربران، تعداد درخواستها و امکانات امنیتی فعال روی شبکه بستگی دارد. مدل قیمتگذاری در ارائهدهندگان مختلف متفاوت است.
برای انتخاب بهترین سرویس CDN باید به چه معیارهایی توجه کنیم؟
موقعیت جغرافیایی پاپسایتها (PoP)، کیفیت شبکه، امکانات مدیریت Cache، امنیت (DDoS Protection)، پشتیبانی ۲۴ ساعته و همخوانی سرویس سی دی ان با زیرساخت فعلی شما از مهمترین معیارها هستند.
آیا CDN روی سئو سایت تأثیر دارد؟
CDN بهصورت مستقیم باعث بهبود رتبه سایت نمیشود، اما با کمک به افزایش سرعت و بهبود تجربه کاربر میتواند روی برخی عوامل فنی مرتبط با سئو اثر مثبت داشته باشد
آیا استفاده از CDN همیشه باعث افزایش سرعت سایت میشود؟
خیر؛ اگر کندی سایت ناشی از بخش سمت سرور، پایگاه داده، کد یا سرویسهای خارجی باشد، CDN بهتنهایی مشکل را برطرف نمیکند.
آیا CDN بهتنهایی برای امنیت سایت کافی است؟
خیر؛ CDN میتواند امکاناتی مانند مقابله با DDoS، مدیریت TLS یا WAF ارائه دهد، اما جایگزین سایر کنترلها و اقدامات امنیتی زیرساخت و برنامه نیست.
این مقاله را به اشتراک بگذارید