Last updated on ۱۳۹۹/۰۸/۰۸
برای لود شدن سایت، مرورگر باید درخواست تک تک فایلهای مربوط به اون صفحه وب رو به سرور ارسال کنه و سرور هم در پاسخ مرورگر، اون فایل رو براش ارسال کنه. بنابراین یک زمانی برای درخواست مرورگر و پاسخ سرور در نظر بگیرید و زمانی رو برای دانلود شدن اون فایل در کامپیوتر بازدیدکننده.
هدف ما کم کردن این زمان هست. این زمان بستگی داره به پهنای باند سرور و پهنای باند کاربر. اما عامل سومی هم هست که میتونیم بهش زمان انتقال بگیم. یعنی فاصله سرور تا کاربر. این فاصله زمانی رو میشه تشبیه کرد به فاصله زمانی که شما نیاز دارید از منزل به بانک مورد نظر خودتون برسید. فرض کنید بانکی که شما به اون نیاز دارید فقط یک شعبه در شهر شما داشته باشه، بنابراین شما اگه شانس داشته باشید خونه نزدیک به بانک باشه، میتونین با پای پیاده و در چند دقیقه به اون برسید، اما اگر شما در سمت دیگر شهر باشید، شاید با حساب ترافیک، یک ساعتی در راه باشید! ( میدونم شما عادت به بانکداری الکترونیکی دارید اما در این مثال، بیخیال شوید!) حالا فرض کنید بانک شما در چهار گوشه شهر، شعبه های جدید ایجاد کنه. حتما این دفعه که به بانک میروید، زمان کمتری رو صرف میکنید چون این بار میتونین انتخاب کنید و بانکی که به شما نزدیک تره رو به عنوان مسیر انتخاب کنید. در حالت بهتر اینکه این بانک در تمام محله های شهر، شعبه بزنه. حالا شما انتخاب های بیشتری دارید. اگر در محل کار هستید میتونید به شعبه شماره ۴۵ که نزدیک محل کار هست برید و اگر در خانه هستید به شعبه ۱۸٫
همین مثال رو در مورد یک سایت در نظر بگیرید. اگر سایت شما یک سرور داشته باشه و اون هم مثلا در کشور کانادا باشه، تمامی بازدیدکننده های سایت شما باید با سروری در کانادا ارتباط برقرار کنند. چه اونی که تو ژاپن هست و چه اونی که تو خود کانادا هست. واضح هست که سرعت برای اشخاصی که به سرور دورتر هستند، کندتر خواهد بود. مثل همون بانک مثال ما در حالت اول که فقط یکی بود. در حالت دوم، ما سروری رو برای سایت خودمون انتخاب میکنیم که از طریق تکنولوژی های موجود در مهندسی شبکه، میتونه در چندین مکان فیزیکی قرار بگیره. مثلا در کانادا و ژاپن و اسپانیا و ایران(!) حالا اگر کاربر ایرانی درخواست این سایت رو داشته باشه، مجموعه سرور، متوجه یک درخواست از ایران میشه و کاربر رو به سرور ایران میفرسته یا اگر کاربری از فرانسه بخواد سایت رو ببینه، مجموعه ما اون رو به نزدیکترین سرور خودش یعنی اسپانیا میفرسته. بنابراین به این صورت، سرعت لود شدن صفحه، به علت کم کردن زمان انتقال، بیشتر خواهد شد.
به این مجموعه که در نقاط مختلفی داری سرور هست و بسته به محل درخواست، اون رو به نزدیکترین سرور هدایت میکنه، Content Delivery Network میگوییم. در واقع CDN رو میشه به صورت شبکه ای از کامپیوترهایی با وظیفه ارسال اطلاعات درخواستی به کاربر در کمترین زمان و انتخاب مناسبترین مسافت، تعریف کرد.
شرکتهای بزرگ مثل یاهو، مایکروسافت، فیسبوک و گوگل، برای خودشون چنین شبکه ای رو به صورت خصوصی دارند. و شرکتهای دیگری هم هستند که این سرویس رو به مشتری هاشون در قبال پرداخت هزینه ای ارایه میدهند. برای نمونه میشه از شرکتهایی مثل http://www.akamai.com و سرویس cloudfront شرکت آمازون نام برد.
CDN رو یکی از اهداف Cloud Computing هم میشه نام برد به این مفهوم که فایلهای شما مهم نیست در چه مکان فیزیکی قرار گرفته اند، مهم اینه که چجوری میشه به اون دسترسی پیدا کرد.
CDN های رایگان
استفاده از سرویس CDN ، برای شما هزینه خواهد داشت. اما برخی شرکت ها، قابلیت استفاده از یک سری فایلها رو در شبکه خودشون به صورت رایگان به شما میدهند. این فایلها اکثرا منابعی هستند که به مقدار بسیار زیادی در سایت های اینترنتی به کار رفته اند مانند فایلهای کتابخونهای پر استفاده ایجکس و جاوااسکریپت. پر استفاده ترین حالت در اینترنت استفاده از فایل jQuery در سرور گوگل هست. یعنی به جای اینکه فایل اصلی jQuery رو در سایت خودتون آپلود کنید و در src اسکریپت به اون فایل اشاره کنید:
به صورت مستقیم از این آدرس در src مربوط به اسکریپت استفاده میکنید:
http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
البته مایکروسافت هم اخیرا اعلام کرده که فایلهای مربوط به Microsoft Ajax و jQuery رو به صورت رایگان در CDN خودش قرار داده و ما میتونیم استفاده کنیم. در مورد استفاده از jQuery CDN، یک مطلب خواهم نوشت.
مزیت استفاده از یک فایل در یک CDN بزرگ مثل گوگل و مایکروسافت چیست؟
مزیت اول که در تعریف CDN توضیح داده شد یعنی به نسبت محل ما، سروری انتخاب میشه که فایل رو به ما زودتر برسونه. و اما مزیت دوم چیست؟ تعداد بسیار زیادی از سایتهای اینترنتی هستند از این CDN های اعلام شده رایگان (گوگل و مایکروسافت) استفاده می کنند. چون آدرس این فایلها ثابت هست و همه سایت ها دارن از این آدرس استفاده میکنند بنابراین شانس اینکه این فایل روی کامپیوتر کاربر شما قرارگرفته شده باشه بسیار بالاست. زیرا اگر کاربر، به اولین سایتی بره که از این قابلیت استفاده میکنه، این فایل مثل همه فایلهای دیگه برای مرورگر، در هارد کامپیوتر دانلود میشه و ذخیره میشه. به این ترتیب، مرورگر اگر در سایت دیگه ای به همین آدرس فایل برسه، اون رو دیگه دانلود نمیکنه و به همون فایلی که قبلا دانلود کرده رجوع میکنه و استفاده میکنه. بنابراین شما میتونین به اندازه حجم اون فایل، سرعت لود شدن سایت خودتون رو جلو بندازید.
Source : mytoolbox
[…] قدرتمند را دارد که در حقیقت از آن ها به عنوان CDN که در نوشته CDN چیست به طور کامل با آن آشنا شدیم استفاده می کند. تمامی فایل […]
jaleb bod
man ham daram
thanks