CDN چیست؟ همه چیز درباره‌ی شبکه توزیع محتوا

اگر در دنیای وب فعال باشید، حتما با عبارت CDN یا شبکه توزیع محتوا برخورد کرده‌اید و این سوال برایتان پیش آمده است که CDN چیست؟ در این مقاله‌ی آموزشی بصورت کامل به پاسخ سوال CDN چیست؟ میپردازیم. همچنین تمام آن چیزی که درباره‌ی CDN ها لازم است بدانید را آموزش میدهیم. در انتها نیز درباره‌ی بهترین CDN های ایرانی و خارجی صحبت میکنیم و نهایتا بررسی میکنیم که CDN در برنامه نویسی و طراحی وب چه کاربردی دارد.پس اگر میخواهید تمام این موارد را مسلط شوید، در این آموزش با من همراه باشید. https://www.aparat.com/v/f0FWe CDN چیست؟ دقیقا چه کاری انجام میدهد؟در این مقاله نمیخواهیم آنقدری تخصصی صحبت کنیم که هیچ چیز از CDN متوجه نشوید. بلکه میخواهیم خیلی کاربردی به سوال CDN چیست؟ پاسخ دهیم و کاملا عملی با مفهوم CDN یا شبکه توزیع محتوا آشنا شویم.در پاسخ به سوال CDN چیست؟ میتوانیم بگوییم که CDN مخفف Content Delivery Network می‌باشد. اگر بخواهیم این عبارت را کلمه به کلمه معنا کنیم،‌ مجددا به مفهوم شبکه توزیع محتوا میرسیم.میتوانیم بگوییم CDN مجموعه‌ و شبکه‌ای از سرور های مختلفی است که در نقاط مختلف جهان، بصورت پراکنده قرار دارند و ما میتوانیم سایت ها و سرویس های آنلاین خودمان را بر روی CDN ها بارگزاری کنیم. اینکار مزایای بسیاری دارد که در ادامه به آن ها میپردازیم.CDN چطور کار میکند؟وقتی که یک سایت یا سرویس آنلاین بر روی یک CDN یا شبکه توزیع محتوا بارگزاری میشود، اتفاق بسیار جالبی می‌افتد. همانطور که گفتیم، CDN شبکه‌ای از سرور های مختلف است که در نقاط مختلف جهان قرار دارند.وقتی که یک وبسایت از یک CDN استفاده کند، وقتی که کاربردی قصد ورود به آ‌ن سایت را داشته باشد، اطلاعات مربوط به آن سایت، از نزدیک ترین سرور به آن کاربر برایش ارسال میشود.برای مثال فرض کنید که شما میخواهید وارد سایت یادیفای به آدرس www.yadify.com شوید. اگر سایت یادیفای از یک CDN استفاده کند، وقتی که شما در مرورگرتان آدرس سایت را وارد میکنید، موقعیت مکانی شما سنجیده میشود و محتویات سایت یادیفای، از نزدیک ترین سرور برای شما فرستاده میشود.همانطور که احتمالا میدانید، هرچقدر فاصله‌ی بین کاربر و سروری که سایت روی آن قرار دارد کمتر باشد، سرعت بارگزاری آن سایت بیشتر میشود. برای مثال اگر شما در ایران باشید، سرور ایران برای شما سرعت بسیار بیشتری خواهد داشت نسبت به سروری که در لندن یا المان قرار دارد. اگر هم در آلمان باشید، سریع تر سرور برای شما، سروری است که کمترین فاصله‌ی مکانی را با شما داشته باشد.سایت شما بصورت پیشفرض دارای یک سرور اصلی است. این سرور اصلی میتواند در هرجایی از جهان باشد. فرض کنید که سرور اصلی شما در ایران قرار دارد. وقتی که شما از یک CDN یا شبکه توزیع محتوا برای سایت‌تان اسفتاده میکنید، یک نسخه از فایل های قابل دانلود سایت‌تان مثل عکس ها، فیلم ها، فایل های CSS, Javascript و... روی سرورهای مختلفی در نقاط مختلف جهان قرار داده میشود.در این صورت، اگر کاربری در آلمان بخواهد سایت شما را باز کند، اطلاعات سایت شما از سرور ایران برای او فرستاده نمیشود، بلکه اطلاعات سایت، از نزدیک ترین سرور به آن شخص فرستاده میشود.پس وقتی که ما اقدام به استفاده از CDN ها میکنیم، یک نسخه از فایل های سایت‌مان روی سرورهایی در نقاط مختلف و قاره‌های مختلف جهان قرار داده میشود. و هر شخصی که میخواهد اقدام به وارد شدن به سایت ما بکند، موقعیت مکانی او بررسی میشود و اطلاعات سایت ما را از نزدیک ترین سرور به خودش دریافت میکند.استفاده از CDN مزایای بسیاری دارد، اما تا اینجا فهمیدیم که CDN میتواند سرعت سایت ما را بسیار افزایش دهد، زیرا باعث کم شدن فاصله‌ی کاربر و سرور میشود که این فوق العاده است!CDN یا شبکه توزیع محتوا چه تاثیراتی بر روی سایت ما دارد؟استفاده از CDN یا شبکه توزیع محتوا مزایای بسیاری دارد که باعث میشود سایت بسیار خوب و حرفه‌ای داشته باشیم. در زیر میخواهیم به برخی از مزایا CDN ها اشاره کنیم که خیلی دقیقا تر بتوانیم به سوال CDN چیست؟ پاسخ دهیم.افزایش سرعت بارگزاری سایتهمانطور که در بخش قبل گفتیم، یکی از اصلی ترین ویژگی های CDN ها این است که باعث افزایش سرعت بارگزاری سایت میشوند. البته این موضوع برای حالتی است که سایت شما در یک هاست خارج از کشور قرار داشته باشد. اگر هاست شما در ایران است، به شما پیشنهاد استفاده از CDN را نمیدهیم. در ادامه دلیل آن‌را بررسی میکنیم.اما اگر هاست شما در خارج از کشور قرار دارد، CDN و یا شبکه توزیع محتوا میتواند برایتان بسیار مفید باشد. با استفاده از شبکه توزیع محتوا، میتوانید کاری کنید که هر شخصی که از هر جای دنیا که میخواهد سایت شما را ببیند، به نزدیک ترین سرور در اطرافش متصل شود که این باعث افزایش سرعت و بازدهی سایت شما میشود.برای مثال فرض کنید که شما میخواهید وارد یک سایت انگلیسی زبان شوید که سرور اصلی آن در لندن قرار دارد، ولی از CDN استفاده میکند. شما هنگامی که آدرس این سایت را در مرورگر خود وارد میکنید، موقعیت مکانی شما سنجیده میشود و مثلا اگر در ایران باشید، نزدیک ترین سرور نیز به شما، که مثلا در ترکیه است، اطلاعات آن سایت را برای شما ارسال میکند.این موضوع باعث میشود که شما بصورت مستقیم اطلاعات سایت را از سرور اصلی که در لندن است دریافت نکنید. زیرا به دلیل فاصله‌ی زیاد، سرعت بارگزاری سایت برای‌تان کاهش پیدا میکند. اما وقتی اطلاعات را از سرور ترکیه میگیرید، به دلیل فاصله‌ی کم، سرعت بارگزاری سایت برای شما بشدت کاهش پیدا میکند.بسیاری از شرکت های اینترنتی بزرگ، برای اینکه بتوانند سرویس و خدمات یکسانی را در تمام جهان ارائه دهند، از CDN ها استفاده میکنند. این باعث میشود که کیفیت وبسایت آ‌ن‌ها در هیچ جای جهان تفاوت زیادی نداشته باشد.افزایش امنیت وبسایتیکی دیگر از مزایای استفاده از CDN ها، افزایش امنیت وبسایت است. CDN ها یا شبکه های توضیح محتوا، به دلیل چند مرحله‌ای بودن، میتوانند امنیت شما را در برابر حملات مختلف بالاتر ببرند.برای مثال یکی از شایع ترین حملاتی که در فضای مجازی رخ میدهد، حملات DDos میباشد. اگر از CDN ها استفاده کنید، امنیت سایت شما بسیار بالا میرود در برابر بسیاری از حملات مقاوم تر خواهید بود.صرفه جویی در هزینه هااین مورد یکی دیگر از مزایای استفاده از CDN ها میباشد. شما وقتی از CDN ها استفاده میکنید، مقدار زیادی از محتوایت سایت شما بر روی سرورهای مختلف پخش میشود. این موضوع باعث میشود که هاست یا سرور اصلی شما، مقدار کمتری پهنای پاند مصرف کند. و هرچقدر سایت شما پهنای باند کمتری مصرف کند، شما نیز میتوانید در هزینه های مربوط به هاستینگ، صرفه جویی بسیار خوبی داشته باشید.تاثیر بسیار خوب در سئو سایتدر ادامه‌ی پاسخ به سوال CDN چیست؟ باید بگوییم که CDN یکی از ویژگی هایی است که میتواند در سئوی شما تاثیر فوق العاده ای داشته باشد. وقتی که گوگل مشاهده کند که سایت شما برای تمام کاربران در تمام نقاط جهان با سرعت بسیار خوبی باز میشود و پایداری بالایی دارد، به شما اعتماد بیشتری میکند. هرچقدر گوگل به شما اعتماد بیشتری کند، رتبه‌ی بهتری به سایت شما میدهد که این فوق العاده است.قطع نشدن همیشگی سایت!اگر بخواهیم بگوییم که CDN چیست؟ حتما باید به این موضوع اشاره کنیم که میتوانیم بگوییم یکی از بهترین ویژگی های CDN ها میباشد.وقتی که شما از CDN ها استفاده میکنید، در صورت قطع شدن سرور اصلی، سایت شما قطع نمیشود، بلکه همان نسخه‌ای از سایت شما که در سرورهای مختلف ذخیره شده است، به کاربران نمایش داده میشود. این ویژگی یکی از فوق العاده ترین ویژگی های CDN هاست.سرور اصلی شما، به دلایل مختلفی ممکن است قطع شود. و از لحاظ تجربه کاربری، گوگل و... بسیار مهم است که سایت شما اصطلاحا Uptime بالایی داشته باشد و زیاد قطع و وصل نشود.وقتی که شما از CDN ها استفاده کنید، دیگر هرگز به این مشکل برنخواهید خورد.معایب استفاده از CDN یا شبکه توزیع محتوادر ادامه‌ی پاسخ به سوال CDN چیست؟ میخواهیم درباره‌ی معایب CDN ها صحبت کنیم.کارکرد برعکس برای هاست های ایراناگر سایت شما در سایتی باشد که روی هاست ایران باشد و در داخل کشور میزبانی شود، استفاده از CDN زیاد نمیتواند برای شما مفید باشد. در ادامه‌ی مقاله بصورت کامل دلیل این امر رو بررسی میکنیم. اما استفاده از CDN برای هاست هایی که در داخل ایران هستند، معمولا نتیجه‌ی معکوس در سرعت بارگزاری سایت دارد و سرعت بارگزاری سایت را افزایش میدهد.بوجود آمدن مشکل در کش (Cache) شدن فایل هاهمانطور که گفتیم، CDN ها فایل های قابل دانلودی سایت شما، مانند فایل های جاوا اسکریپت، CSS و... را در سرورهای مختلف کپی میکنند و آن فایل ها را برای کاربران به نمایش در می آورند.اما ممکن است شما زمانی بخواهید تغییری در فایل‌های CSS خود بوجود آورید. به دلیل اینکه فایل های CSS شما روی سرورهای دیگر کپی یا اصطلاحا کَش (Cache) شده است، ممکن است شما بصورت لحظه‌ای نتوانید تغییرات را مشاهده کنید. زیرا سایت شما از روی سرورهای CDN خوانده میشود. به همین دلیل ممکن است تغییرات ظاهری مثل تغییر در فایل های جاوا اسکریپت یا CSS را نتوانید بصورت لحظه‌ای مشاهده کنید.از کار افتادن بعضی از پورت (port) های دامنهدر برخی از سایت ها، شما وقتی اقدام به نصب CDN روی سایت میکنید، بعضی از پورت های سایت شما از کار می افتد. برای مثال در برخی از هاست هایی با کنترل پنل CPanel، با نصب CDN، پورت 2082 که مربوط به دسترسی به CPanel است، غیرفعال میشود. البته این مشکل برای برخی از هاست ها اتفاق می‌افتد و برای همگان این مشکل بوجود نمی آید.هزینه‌های نسبتا بالای CDN هادرست است که همه‌ی سرویس های CDN دارای پنلی رایگان هستند، اما برای اینکه بتوانید اما تمام امکانات یک CDN حرفه ای را استفاده کنید، مجبور هستید که از سرویس های غیررایگان CDN ها استفاده کنید. البته که بعضی از سرویس های CDN، در پلن های رایگان‌شان نیز به شما امکانات خوبی ارائه میدهند.در آینده در مقاله‌ای در یادیفای، بصورت کامل روش نصب یک CDN روی سایت را یاد خواهیم گرفت.آیا برای هاست های ایرانی از CDN استفاده کنیم؟در ادامه‌ی پاسخ به سوال CDN چیست؟ میخواهیم درباره‌ی هاست های ایرانی و استفاده از CDN برای آن‌ها صحبت کنیم.اگر میخواهید از سرویس های ارائه دهنده CDN خارجی مثل Cloudflare و... استفاده کنید و سایت شما توسط سروری در ایران میزبانی میشود، پیشنهاد میکنیم که در این صورت از CDN ها استفاده نکنید.زیرا اگر یک CDN روی سایت خود نصب کنید، اگر کاربران‌تان از ایران به سایت شما مراجعه کنند، اطلاعات سایت شما از سروری نزدیک به ایران، مثل ترکیه برای آن ها نمایش داده میشود. به این دلیل که سرویس‌های ارائه‌ی دهنده‌ی CDN خارجی مثلا Cloudflare و...، در ایران سروری ندارند. این موضوع باعث میشود که سرعت سایت شما کاهش پیدا کند.اما اگر سایت شما توسط سروری در آلمان پشتیبانی میشود، استفاده از سرویس های CDN خارجی مثل Cloudflare و... میتواند برای شما مفید باشد. به این دلیل که اگر کاربری از ایران بخواهد سایت شما را ببیند، اطلاعات سرور ترکیه برای او ارسال میشود و به دلیل نزدیک تر بودن ترکیه به ایران به نسبت آلمان به ایران، سایت شما سریع تر باز میشود.پس اگر بخواهیم یک جمع بندی کلی داشته باشیم، میتوانیم بگوییم:اگر سایت‌تان در ایران میزبانی میشود، استفاده از CDN خارجی ممکن است روی سرعت سایت شما تاثیر معکوس داشته باشد. اما اگر سایت شما در خارج از کشور میزبانی میشود، استفاده از CDN میتواند برای شما مفید باشد. همچنین اگر سایت شما در خارج از ایران میزبانی میشود و میخواهید حتما از CDN اسفتاده کنید، میتوانید از سرویس های ارائه‌ دهنده‌ی CDN ایرانی استفاده کنید که در ایران نیز سرور دارند.کدام CDN یا شبکه توزیع محتوا بین کاربران ایرانی محبوب است؟برای پاسخ به سوال CDN چیست؟ میخواهیم درباره‌ی سرویس های معروف CDN در ایران صحبت کنیم. در انتهای مقاله بصورت کامل معروف ترین شرکت های ارائه دهنده CDN را معرفی میکنیم.اما امروزه در بین کاربران و سایت های ایرانی، سرویس خارجی Cloudflare محبوبیت بسیاری دارد و بسیاری از سایت ها نیز از این سرویس برای CDN استفاده میکنند.در مقاله‌ی دیگری بصورت جداگانه، روش نصب Cloudflare بصورت کامل بررسی میکنیم و آموزش میدهیم.معروف ترین سرویس های ایرانی و خارجی ارائه دهنده CDNدر ادامه‌ی پاسخ به سوال CDN چیست؟ ، در این قسمت میخواهیم معروف ترین سرویس های ارائه دهنده CDN ایرانی و خارجی را بررسی کنیم.آروان کلوداولین سرویس ارائه دهنده CDN ایرانی که میخواهیم معرفی کنیمیک شرکت ایرانی به نام آروان کلود می‌باشد. آروان کلود در شهر های مختلف ایران مثل تبریز، شیراز، مشهد، تهران و شهرهای خارجی مثل توکیو، لندن، برلین، لس آنجلس، نیویورک و... سرور های مختلفی برای CDN دارد. همچنین به گفته‌ خودشان، دیجی کالا، دیوار، زرین پال، دیجی استایل، بانک پاسارگاد و... از سرویس های آن‌ها استفاده میکنند.شما میتوانید قیمت پلن های مختلف آروان کلود را در سایت رسمی آ‌روان کلود مشاهده کنید.Cloudflareسرویس دیگری که این روزها بین کاربران ایرانی بسیار مورد توجه قرار گرفته است، سرویس کلودفلر یا Cloudflare می‌باشد که یک سرویس جهانی می‌باشد. دلیل محبوبت Cloudflare این است که در پلن رایگان خود، امکانات خوبی برای کاربران خود در نظر گرفته است که باعث شده که کاربران زیادی به استفاده از آن روی بیاورند. همچنین کار با Cloudflare برای کاربرانی که تخصص فنی خاصی ندارند نیز خیلی ساده است.علاوه بر این دو سرویس که بین کاربران ایرانی بسیار محبوب هستند،‌ سرویس های ارائه دهنده CDN دیگری نیز مثل MaxCDN, Amazon CloudFront و... نیز وجود دارد که کارکردهای مشابهی دارند و فقط ممکن است در برخی امکانات و قیمت های با هم متفاوت باشند.CDN ایرانی یا خارجی؟‌ مسئله این استدر ادامه‌ی پاسخ به سوال CDN چیست؟ ممکن است این سوال برایتان پیش بیاید که از CDN های ایرانی استفاده کنیم یا خارجی؟مزیتی که CDN های ایرانی دارند این است که در ایران نیز سرورهایی دارند که سایت شما را روی آن‌ها قرار دهند. اما سرویس های ارائه دهنده‌ی CDN خارجی، در ایران سروری ندارد.در این حالت اگر شما روی سایت‌تان یک CDN خارجی نصب کنید و شخصی از ایران بخواهد سایت شما را ببیند، نزدیک ترین سرورهای آن‌ها در کشورهای همسایه ایران خواهند بود.استفاده از CDN برای فایل های پرکاربرد در طراحی وب!در ادامه‌ی پاسخ به سوال CDN چیست؟ میخواهیم درباره‌ی کاربرد CDN یا شبکه توزیع محتوا در طراحی وب صحبت کنیم. حتما برای شما نیز پیش می‌آید که بخواهید از جی کوئری، یا کتابخانه‌ی خاصی در کدهایتان استفاده کنید.یکی از روش ها این است که فایل های این کتابخانه ها را دانلود کنید و در پروژه‌ی خودتان به آن ها آدرس دهید. اما روش حرفه‌ای تر و بهتر استفاده از CDN هاست.به این صورت که قبلا فایل های کتابخانه‌های مختلف روی CDN هایی بارگزاری شده است و شما میتوانید آن کتابخانه ها را از CDN ها در پروژه‌ی خود لود کنید.برای مثال اگر میخواهید از jQuery در کدهایتان استفاده کنید، یک روش این است که جی کوئری را از سایت رسمی آن دانلود کنید و سپس در پروژ‌ه‌ی خود از آن استفاده کنید. روش بعدی این است که تکه کد زیر را در تگ <head> خود قرار دهید.<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">با استفاده از این یک خط کد میتوانید کاری کنید که بجای دانلود جی کوئری، کاربر فایل جی کوئری را از نزدیک ترین سرور از طریق CDN پیدا کند. اینکار باعث میشود که لود وبسایت شما سریع‌تر باشد. اگر میخواهید دیگر کتاخانه‌ها و... را از طریق CDN ها لود کنید، فقط کافی است که عبارتی مثل jquery cdn, bootstrap cdn, fontawesome cdn و... را سرچ کنید تا بتوانید آدرس دسترسی به آن فایل ها از رطیق CDN را وارد کنید.جمع بندیدر این مقاله سعی کردیم بصورت کامل به سوال CDN چیست؟ پاسخ دهیم. اگر شما تجربه‌ای در کار با CDN یا شبکه توزیع محتوا دارید، آن‌را با ما در میان بگذارید و نظرتان را برایمان بنویسید.منبع: یادیفای