کش (cache)
ذخیره سازی فرآیند ذخیره کپی از فایل ها در یک کش یا مکان ذخیره سازی موقت است، به طوری که بتوان سریعتر به آنها دسترسی داشت. از نظر فنی، کش یا حافظه پنهان هر مکان ذخیره سازی موقت برای کپی فایل ها یا داده ها است، اما این اصطلاح اغلب در ارتباط با فناوری های اینترنت استفاده می شود. مرورگرهای وب فایلهای HTML، جاوا اسکریپت و تصاویر را به منظور بارگیری سریعتر وبسایتها در حافظه پنهان نگه میدارند، در حالی که سرورهای DNS سوابق DNS را برای جستجوی سریعتر و سرورهای CDN برای کاهش تأخیر در حافظه پنهان ذخیره میکنند.
برای درک نحوه کار کش ها، انبارهای واقعی غذا و سایر لوازم را در نظر بگیرید. هنگامی که کاشف رولد آموندسن در سال 1912 بازگشت خود را از سفر خود به قطب جنوب انجام داد، او و افرادش از انبارهای غذایی که در طول راه ذخیره کرده بودند، امرار معاش کردند. این بسیار کارآمدتر از انتظار برای تحویل تدارکات از کمپ اصلی آنها در سفر بود. حافظه های پنهان در اینترنت هدفی مشابه دارند. آنها به طور موقت «تدارکات» یا محتوای مورد نیاز کاربران را برای سفر خود در سراسر وب ذخیره می کنند.
کش (cache) مرورگر چه کاری انجام می دهد؟
هر بار که کاربر یک صفحه وب را بارگیری می کند، مرورگر او باید داده های بسیار زیادی را برای نمایش آن صفحه دانلود کند. برای کوتاه کردن زمان بارگذاری صفحه، مرورگرها بیشتر محتوایی را که در صفحه وب ظاهر میشود در حافظه پنهان ذخیره میکنند و یک کپی از محتوای صفحه وب را در هارد دیسک دستگاه ذخیره میکنند. به این ترتیب، دفعه بعد که کاربر صفحه را بارگذاری می کند، بیشتر محتوا از قبل به صورت محلی ذخیره شده است و صفحه با سرعت بیشتری بارگیری می شود.
مرورگرها این فایل ها را تا زمانی که زمان حیات آنها (TTL) تمام شود یا تا زمانی که حافظه پنهان هارد دیسک پر شود، ذخیره می کنند. (TTL نشان دهنده مدت زمان ذخیره سازی محتوا است.) کاربران همچنین می توانند کش مرورگر خود را در صورت تمایل پاک کنند.
پاک کردن کش مرورگر چه کاری انجام می دهد؟
هنگامی که حافظه پنهان مرورگر پاک می شود، هر صفحه وب که بارگیری می شود به گونه ای بارگذاری می شود که انگار اولین بار است که کاربر از صفحه بازدید می کند. اگر چیزی بار اول نادرست بارگیری شد و در حافظه پنهان ذخیره شد، پاک کردن حافظه پنهان مرورگر می تواند به آن اجازه بارگیری صحیح را بدهد. با این حال، پاک کردن کش مرورگر می تواند به طور موقت زمان بارگذاری صفحه را کاهش دهد.
CDN Caching (کش سی دی ان) چیست؟
یک CDN یا شبکه تحویل محتوا، محتوا (مانند تصاویر، ویدیوها یا صفحات وب) را در سرورهای پراکسی که نزدیکتر به کاربران نهایی هستند نسبت به سرورهای اصلی ذخیره میکند. (پراکسی سرور سروری است که درخواستهای مشتریان را دریافت میکند و آنها را به سرورهای دیگر ارسال میکند.) از آنجایی که سرورها به کاربر درخواستکننده نزدیکتر هستند، CDN میتواند محتوا را سریعتر ارائه دهد.
یک CDN را مانند یک فروشگاه زنجیره ای از خواربار فروشی در نظر بگیرید: خریداران به جای رفتن به مزرعه هایی که در آن غذا رشد می کند، که صدها مایل دورتر هستند، به خواربار فروشی محلی خود می روند، که هنوز به مقداری سفر نیاز دارد، اما بسیار نزدیک. از آنجایی که خواربارفروشی ها مواد غذایی را از مزارع دور ذخیره می کنند، خرید مواد غذایی به جای چند روز چند دقیقه طول می کشد. به طور مشابه، CDN محتوایی را که در اینترنت ظاهر میشود ذخیره میکند تا صفحات وب سریعتر بارگیری شوند.
هنگامی که یک کاربر با استفاده از CDN از یک وب سایت، محتوا را درخواست می کند، CDN آن محتوا را از یک سرور اصلی واکشی می کند و سپس یک کپی از محتوا را برای درخواست های بعدی ذخیره می کند. تا زمانی که کاربران به درخواست خود ادامه دهند، محتوای ذخیره شده در حافظه پنهان CDN باقی می ماند.
CDN Caching Hit چیست؟ Cache Miss چیست؟
Cache Hit زمانی است که یک دستگاه سرویس گیرنده درخواستی از Cache برای محتوا می کند و کش آن محتوا را ذخیره می کند. از دست دادن حافظه پنهان زمانی رخ می دهد که Cache محتوای درخواستی را نداشته باشد.
Cache Hit به این معنی است که محتوا می تواند بسیار سریعتر بارگیری شود، زیرا CDN می تواند بلافاصله آن را به کاربر نهایی تحویل دهد. در مورد Cache Miss، یک سرور CDN درخواست را به سرور مبدا ارسال می کند، سپس پس از پاسخ سرور مبدا، محتوا را کش می کند، به طوری که درخواست های بعدی منجر به Cache Hit می شود.
سرورهای CDN Caching کجا قرار دارند؟
سرورهای CDN Caching در مراکز داده در سراسر جهان قرار دارند. Cloudflare دارای سرورهای CDN در 285 شهر است که در سراسر جهان گسترده شده اند تا تا حد امکان به کاربران نهایی دسترسی داشته باشند. مکانی که سرورهای CDN در آن حضور دارند مرکز داده نیز نامیده می شود.
چه مدت داده های کش در سرور CDN باقی می مانند؟
وقتی وبسایتها با محتوای درخواستی به سرورهای CDN پاسخ میدهند، TTL محتوا را نیز ضمیمه میکنند و به سرورها اجازه میدهند تا بدانند چه مدت آن را ذخیره کنند. TTL در بخشی از پاسخ به نام هدر HTTP ذخیره میشود و مشخص میکند که محتوا برای چند ثانیه، دقیقه یا ساعت ذخیره شود. هنگامی که TTL منقضی می شود، Cache محتوا را حذف می کند. اگر محتوا برای مدتی درخواست نشود یا مشتری CDN به صورت دستی محتوای خاصی را پاک کند، برخی CDN ها نیز فایل ها را زودتر از Cache پاک می کنند.
انواع دیگر Cache چگونه کار می کنند؟
DNS Caching در سرورهای DNS انجام می شود. سرورها جستجوهای DNS اخیر را در Cache خود ذخیره می کنند تا مجبور نباشند سرورهای نام را پرس و جو کنند و بتوانند فوراً با آدرس IP یک دامنه پاسخ دهند.
موتورهای جستجو ممکن است صفحات وب را که اغلب در نتایج جستجو ظاهر میشوند ذخیره کنند تا به سؤالات کاربر پاسخ دهند، حتی اگر وبسایتی که میخواهند به آن دسترسی پیدا کنند موقتاً از کار افتاده یا قادر به پاسخگویی نباشند.