Content Delivery Network چيست؟
همونطور که گفته شد، عوامل زيادي در سرعت لود شدن سايت شما در کامپيوتر کاربر دخيل هستند که ترفند اشاره شده در قسمت قبل مربوط ميشه به رفتار مرورگر و نحوه ارتباط اون با سرور. نکته بعدي که بايد در مورد اون شناخت داشت، همين ارتباط مرورگر با سرور هست.
براي لود شدن سايت، مرورگر بايد درخواست تک تک فايلهاي مربوط به اون صفحه وب رو به سرور ارسال کنه و سرور هم در پاسخ مرورگر، اون فايل رو براش ارسال کنه. بنابراين يک زماني براي درخواست مرورگر و پاسخ سرور در نظر بگيريد و زماني رو براي دانلود شدن اون فايل در کامپيوتر بازديدکننده.
هدف ما کم کردن اين زمان هست. اين زمان بستگي داره به پهناي باند سرور و پهناي باند کاربر. اما عامل سومي هم هست که ميتونيم بهش زمان انتقال بگيم. يعني فاصله سرور تا کاربر. اين فاصله زماني رو ميشه تشبيه کرد به فاصله زماني که شما نياز داريد از منزل به بانک مورد نظر خودتون برسيد. فرض کنيد بانکي که شما به اون نياز داريد فقط يک شعبه در شهر شما داشته باشه، بنابراين شما اگه شانس داشته باشيد خونه نزديک به بانک باشه، ميتونين با پاي پياده و در چند دقيقه به اون برسيد، اما اگر شما در سمت ديگر شهر باشيد، شايد با حساب ترافيک، يک ساعتي در راه باشيد! ( ميدونم شما عادت به بانکداري الکترونيکي داريد اما در اين مثال، بيخيال شويد!) حالا فرض کنيد بانک شما در چهار گوشه شهر، شعبه هاي جديد ايجاد کنه. حتما اين دفعه که به بانک ميرويد، زمان کمتري رو صرف ميکنيد چون اين بار ميتونين انتخاب کنيد و بانکي که به شما نزديک تره رو به عنوان مسير انتخاب کنيد. در حالت بهتر اينکه اين بانک در تمام محله هاي شهر، شعبه بزنه. حالا شما انتخاب هاي بيشتري داريد. اگر در محل کار هستيد ميتونيد به شعبه شماره 45 که نزديک محل کار هست بريد و اگر در خانه هستيد به شعبه 18.
همين مثال رو در مورد يک سايت در نظر بگيريد. اگر سايت شما يک سرور داشته باشه و اون هم مثلا در کشور کانادا باشه، تمامي بازديدکننده هاي سايت شما بايد با سروري در کانادا ارتباط برقرار کنند. چه اوني که تو ژاپن هست و چه اوني که تو خود کانادا هست. واضح هست که سرعت براي اشخاصي که به سرور دورتر هستند، کندتر خواهد بود. مثل همون بانک مثال ما در حالت اول که فقط يکي بود. در حالت دوم، ما سروري رو براي سايت خودمون انتخاب ميکنيم که از طريق تکنولوژي هاي موجود در مهندسي شبکه، ميتونه در چندين مکان فيزيکي قرار بگيره. مثلا در کانادا و ژاپن و اسپانيا و ايران(!) حالا اگر کاربر ايراني درخواست اين سايت رو داشته باشه، مجموعه سرور، متوجه يک درخواست از ايران ميشه و کاربر رو به سرور ايران ميفرسته يا اگر کاربري از فرانسه بخواد سايت رو ببينه، مجموعه ما اون رو به نزديکترين سرور خودش يعني اسپانيا ميفرسته. بنابراين به اين صورت، سرعت لود شدن صفحه، به علت کم کردن زمان انتقال، بيشتر خواهد شد.
به اين مجموعه که در نقاط مختلفي داري سرور هست و بسته به محل درخواست، اون رو به نزديکترين سرور هدايت ميکنه، Content Delivery Network ميگوييم. در واقع CDN رو ميشه به صورت شبکه اي از کامپيوترهايي با وظيفه ارسال اطلاعات درخواستي به کاربر در کمترين زمان و انتخاب مناسبترين مسافت، تعريف کرد.
شرکتهاي بزرگ مثل ياهو، مايکروسافت، فيسبوک و گوگل، براي خودشون چنين شبکه اي رو به صورت خصوصي دارند. و شرکتهاي ديگري هم هستند که اين سرويس رو به مشتري هاشون در قبال پرداخت هزينه اي ارايه ميدهند. براي نمونه ميشه از شرکتهايي مثل http://www.akamai.com و سرويس cloudfront شرکت آمازون نام برد.
CDN رو يکي از اهداف Cloud Computing هم ميشه نام برد به اين مفهوم که فايلهاي شما مهم نيست در چه مکان فيزيکي قرار گرفته اند، مهم اينه که چجوري ميشه به اون دسترسي پيدا کرد.
CDN هاي رايگان
استفاده از سرويس CDN ، براي شما هزينه خواهد داشت. اما برخي شرکت ها، قابليت استفاده از يک سري فايلها رو در شبکه خودشون به صورت رايگان به شما ميدهند. اين فايلها اکثرا منابعي هستند که به مقدار بسيار زيادي در سايت هاي اينترنتي به کار رفته اند مانند فايلهاي کتابخونهاي پر استفاده ايجکس و جاوااسکريپت. پر استفاده ترين حالت در اينترنت استفاده از فايل jQuery در سرور گوگل هست. يعني به جاي اينکه فايل اصلي jQuery رو در سايت خودتون آپلود کنيد و در اسکريپت به اون فايل اشاره کنيد:
<script type="text/javascript" src="scripts/jquery.min.js"></script>
به صورت مستقيم از اين آدرس در src مربوط به اسکريپت استفاده ميکنيد:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
البته مايکروسافت هم اخيرا اعلام کرده که فايلهاي مربوط به Microsoft Ajax و jQuery رو به صورت رايگان در CDN خودش قرار داده و ما ميتونيم استفاده کنيم. در مورد استفاده از jQuery CDN، يک مطلب خواهم نوشت.
مزيت استفاده از يک فايل در يک CDN بزرگ مثل گوگل و مايکروسافت چيست؟
مزيت اول که در تعريف CDN توضيح داده شد يعني به نسبت محل ما، سروري انتخاب ميشه که فايل رو به ما زودتر برسونه. و اما مزيت دوم چيست؟ تعداد بسيار زيادي از سايتهاي اينترنتي هستند از اين CDN هاي اعلام شده رايگان (گوگل و مايکروسافت) استفاده مي کنند. چون آدرس اين فايلها ثابت هست و همه سايت ها دارن از اين آدرس استفاده ميکنند بنابراين شانس اينکه اين فايل روي کامپيوتر کاربر شما قرارگرفته شده باشه بسيار بالاست. زيرا اگر کاربر، به اولين سايتي بره که از اين قابليت استفاده ميکنه، اين فايل مثل همه فايلهاي ديگه براي مرورگر، در هارد کامپيوتر دانلود ميشه و ذخيره ميشه. به اين ترتيب، مرورگر اگر در سايت ديگه اي به همين آدرس فايل برسه، اون رو ديگه دانلود نميکنه و به همون فايلي که قبلا دانلود کرده رجوع ميکنه و استفاده ميکنه. بنابراين شما ميتونين به اندازه حجم اون فايل، سرعت لود شدن سايت خودتون رو جلو بندازيد.
منبع:http://mytoolbox.i ارسال مقاله توسط کاربر محترم سايت : pr0spy