کش چیست – Cache چیست ؟ حافظه کش Cache یا حافظه پنهان چیست و چه کاربردی دارد ؟
باسلام و درود خدمت شما کاربران گرامی ، با یک مقاله مهم دیگر در حوزه وب در خدمت شما هستیم ، امروز قصد داریم در خصوص مبحث کش به شما توضیح دهیم و به شما بگوییم که اصلا کش چی هست و چه کاربرد دارد ، ما در این مقاله بیشتر قصد داریم در خصوص در دنیای طراحی سایت و پشتیبانی سایت با شما صحبت کنیم و بحث ما در خصوص کش در پردازنده (حافظه پنهان پردازنده) و مباحث مرتبط نیست و بحث ما بیشتر در خصوص کش مرورگر ها بیشتر هست .
قبل از این که بخواهیم به مبحث اصلی این پست بپردازیم ، لازم میدانیم که اشاره کنیم به سرفصل های این مقاله :
در این مقاله می خوانید :
کش چیست – سرفصل ها :
در زیر میتوانید برخی از سرفصل های این مقاله (کش چیست) را مشاهده و بررسی نمایید .
- بخش اول مقدمه ای در خصوص مباحث کش چیست ؟
- بخش دوم – معنا و مفهوم دقیق کش در زبان انگلیسی و فارسی
- معنی و مفهوم کش
- کش چیست ؟ – Cache چیست ؟
- کش مرورگر چیست ؟ Browser cache چیست ؟
- کش سایت چیست ؟ کش وب سایت چیست ؟
- دقیق تر و علمی تر در خصوص مبحث (حافظه نهان (Cache) مرورگر چیست؟) بدانید
- نحوه ذخیره سازی یک فایل در حافظه موقت مروگر یا کش مرورگر
- نکاتی جالب در خصوص کش مرورگر ها
- کش چه کاربردی دارد ؟
- کاربرد کش مرورگر – (فایده کش مرورگر) چیست ؟
- مثالی از کاربرد کش در مروگر ها
- بررسی تصویری حالت با کش و بدون کش
- و…
بخش اول (مقدمه مقاله کش چیست) :
در این بخش قصد داریم به شما بگوییم که اصلا قرار هست ما این مقاله رو از کجا شروع کنیم و به کجا برسیم و یک در واقع مرورکلی داشته باشیم + این که بگوییم هدفمون از ایجاد این مقاله چی هست ؟
ما این مقاله رو از مباحث ابتدایی آغاز خواهیم کرد و تا مباحث پیشرفته پیش خواهیم رفت ، همان طور که احتمالا میدانید کش در وب سایت ها و مرورگر ها یکی از مباحث خیلی مهم هست که باید هر وب مستری اطلاعات جامعی رو در خصوص آن داشته باشد . مقاله های مختلفی در خصوص کش در سطح اینترنت هست ولی هر کدوم شون به نطرم یکسری کمبود ها و نقایص دارند .
که من در این مقاله قصد دارم اون نقایص و کمبود ها رو برطرف کنم و در نهایت به شما یک مقاله کامل و جامع رو ارائه کنم . که دیگر مشکلی با مباحث کش نداشته باشید ، بارها دیدم که خیلی از وب مستران قدیمی ما اصلا نمیدونند کش چی هست و چه کاربردی دارند و برای یک وب مستر حرفه ای و قدیمی فاجعه هست که یک مسئله جزئی و ابتدایی رو ندونه . ما وظیفه خودمون دیدیم که به صورت خیلی ساده در این خصوص توضیح دهیم .
در ادامه در خصوص مباحث کش بیشتر توضیح خواهیم داد پس با ما در ادامه همراه باشید .
بخش دوم – معنا و مفهوم دقیق کش در زبان انگلیسی و فارسی :
در این بخش از مقاله (کش چیست) قصد داریم ابتدا بپردازیم به معنا و مفهوم این واژه و بعد به سراغ بحث های دیگر خواهیم رفت .
یا ساده تر : میخواهیم بگوییم اصلا کش چه معنایی دارد و از کجا آمده است ؟
به فارسی : کَش
به انگلیسی : Cache
معنی و مفهوم کش :
معنی کش cache : حافظهٔ نهان ، حافظه پنهان ، میانگیر ، کاشه ، کش ، حافظه موققت ، حافظه کوتاه مدت ، حافظه کوچک
برخی از انواع کش : کش مرورگر ، کش موبایل ، کش حافظه ، کش سی پی یو ، کش پردازنده ، کش موقت
کش چیست ؟ – Cache چیست ؟
رسیدیم به بخش اصلی پست یعنی : Cache چیست و میخواهیم بگوییم که واقعا کش چی هست ؟
کش نوعی حافظه است ، کش بیشتر از نوع حافظه های غیر قابل دسترس ، و موقت هست (یعنی اطلاعات کش بیشتر به صورت موقت نگهداری میشوند) ، اطلاعات کش بیشتر جنبه خواندنی دارند و براساس منابع برخی از منابع کش را در دسته بندی حافظه های فقط خواندنی قرار داده اند . کش نوعی حافظه است که به تنهایی کاربردی ندارد ، بلکه در یک سیستم باعث بهبود سرعت یک سیستم میشود .
براساس توضیحات بالا به صورت خیلی ساده : کش نوعی حافظه موقت (Memory Temporary) هست .
کش رو اگر بخواهیم درون دسته بندی های حافظه قرار بدهیم ، میتوانید در دسته بندی های زیر قرار دهیم :
دسته بندی کش : حافظه های موقت (کوتاه مدت) – حافظه های غیر قابل دسترس – حافظه های فقط خواندنی
کش مرورگر چیست ؟ Browser cache چیست ؟
یکی از انواع مهم کش ، کش مرورگر هست ، برخی از توضیحات کش در مرورگر ها هم همانند توضیحات بالا هست . اما اگر بخواهیم برای مرورگر ها تعریف بهتری رو ارائه کنیم ، میتوانید تعریف زیر رو ارائه کنیم .
کس در مرورگر ها چی هست : کش مرورگر ، نوعی حافظه موقت است که در مرورگر قرار دارد و به طور کلی به منظور سرعت بارگذاری بهتر یک صفحه یا یک سایت (Better page loading speed) مورد استفاده قرار میگرد . همان طور که گفتیم کش در کل باعث بهبود سرعت یک بخش درون یک سیستم می شود و خود به تنهایی کاربردی ندارد . و مثلا مرورگر یک سیستم هست و درون سیستم مرورگر باعث سرعت لود بهتر بهتر یک سایت میشود .
کش سایت چیست ؟ کش وب سایت چیست ؟
تقریبا تعریف خاصی برای کش سایت وجود ندارد و کش سایت در واقع پروسه ای است که باعث به وجود آمدن کش در یک سایت می شود .
یعنی به صورت ساده کش سایت کارهایی هست که مدیر یک سایت انجام میدهد جهت کش شدن محتوا
که ممکن است در یک سایت انجام شده باشد و یک در سایت انجام نشده باشد .
دقیق تر و علمی تر در خصوص مبحث (حافظه نهان (Cache) مرورگر چیست؟) بدانید :
در این بخش از پست (کش چیست) قصد داریم در خصوص حافظه پنهان یا نهان مرورگر علمی تر و دقیق تر توضیح دهیم :
کش مرورگر یا حافظه نهان مرورگر از نظر علمی چیست :
کش مرورگر یا همان حافظه نهان مرورگر قسمتی از حافظه جانبی مرورگر است . که کپی (Copy) از برخی از آیتم های مهم یک یا چند صفحه از سایت که قبلا مرور شده است را در خود نگهداری میکند ، این آیتم ها ممکن است : تصاویر گرافیکی (مانند : لوگو ، بنر ، تصاویر اسلایدر ها ، عکس مطالب سایت و به طور کلی تمامی تصاویر درون صفحه مورد نظر) ، کل صفحه وب سایت ، فایل های سمت کاربر : جاوا اسکریپت ، سی اس اس و… باشند .
به این فایل ها که درون حافظه موقت مرورگر ذخیره میشوند اصطلاحا Temporary Internet Files یا فایل های موقت اینترنتی می گویند . اما شاید بگویید نحوه ذخیره سازی این فایل ها به چه صورت هست ، که در ادامه توضیح خواهیم داد .
نحوه ذخیره سازی یک فایل در حافظه موقت مروگر یا کش مرورگر :
در این بخش به صورت خیلی ساده می خواهیم بگوییم که چگونه یک فایل کش میشود ، یا این عملیات کش شدن به چه صورت اتفاق می افتد :
زمانی که یک کاربر برای بار اول یک صفحه از یک وب سایت را بازدید یا مرور میکند ، تمامی فایل های قابل کش (مانند ، تصاویر ، بنر ها ، تصاویر اسلایدر ها ، لوگو سایت ، فایل های جاوا اسکریپت و سی اس اس و…) جدید توسط مرورگر دانلود (Download) میشود و در این حافظه ذحیره سازی میشود و سپس سایت به کاربر نمایش داده میشود .
در دفعات بعدی اگر کاربر به همان صفحه مراجعه کند ، دیگر فایل های قابل کش ، مجدد دانلود نمیشوند ، بلکه همان فایل ها از حافظه نهان خوانده میشوند و به کاربر نمایش داده میشوند ، این باعث میشه عملیات لودینگ سایت بسیار سریع تر از قبل باشد . همچنین نکات جالبی هم در خصوص کش مرورگر ها وجود دارد :
نکاتی جالب در خصوص کش مرورگر ها :
- اطلاعات به دلیل مسائل امنیتی به صورت کد گذاری شده ذخیره میشوند .
- کش شدن اطلاعات و یا کش نشدن اطلاعات باید توسط مدیر سایت مشخص شده باشد .
- به صورت کلی کش در برخی از سایت ها وجود دارد و در برخی از سایت ها وجود ندارد (البته در اکثر سایت ها وجود دارد)
یا ساده تر کش در برخی از سایت ها وجود دارد و این گونه نیست که در همه سایت ها عملیات کش شدن اتفاق بی افتد ، این که این اتفاق رخ بده یا نده بستگی به مدیریت سایت دارد ، در برخی از صفحات نیز که به صورت دائم بروز رسانی میشود در برخی از بخش های صفحه کش وجود ندارد یا به صورت کلی کش در کل صفحه غیر فعال شده است .
مثلا در سایت های فروشگاهی چون دائم اجرای صفحه تغییر میکند در برخی از قسمت ها یا کل صفحه کش غیر فعال شده است .
- به حافظه نهان مرورگر ها (Browser Cache) گفته میشود .
- هر فایل کش شده دارای تاریخ انقضای یک روزه تا یکساله می باشند .
- تاریخ انقضا توسط وب سرور یا مرورگر مشخص میشود .
امیدواریم که این بخش برای شما مفید بوده باشد . در ادامه به مبحث فایده و کاربرد کش خواهیم پرداخت .
کش چه کاربردی دارد ؟
در این بخش از مقاله (کش چیست) حالا به شما میخواهیم بگوییم که کش چه فایده و کاربردی دارد .
در بخش های قبلی این مقاله به این مبحث اشاره کردیم که کش چیست ؟ و حالا میخواهید به کاربرد و فواید آن بپردازیم .
به صورت کلی هر نوع کش فواید و کاربرد های زیر رو دارد :
- کش باعث بهبود علمکرد سیستم می شود .
- کش موجب افزایش سرعت سیستم یا بخشی از سیستم می شود .
- کش (Cache) میتواند باعث کاهش و بهبود مصرف منابع شود .
- حافظه پنهان حافظه موقت برای موارد بهینه سازی در بخش های مختلف استفاده میشود .
- کاربرد اصلی کش باتوجه به موقعیت آن متفاوت است .
- و…
کاربرد هایی که ما اشاره کردیم ، تفریبا در اکثر موارد ثابت هست .
برای درک بهتر فواید و کاربرد های کش اشاره میکنیم به کاربرد و فایده کش در مرورگر ها .
کاربرد کش مرورگر – (فایده کش مرورگر) چیست ؟
همان طور که بالاتر اشاره کردیم برای این که دقیق تر شما متوجه کاربرد کش شوید ، ما کاربرد کش را در مرورگر ها در این بخش بررسی خواهیم کرد و شما میتوانید به صورت کلی با کاربرد کش در سیستم مرورگر ها آشنا شوید .
به پروسه کش شدن (Caching) می گویند ، که معمولا به دلایل زیر انجام میشود :
- کاهش مصرف پهنای باند و فشار روی سرور :
کش مرورگر باعث کاهش قابل توجه مصرف پهنای باند سایت می شود ، و از طرفی این موضوع باعث میشود که حجم فشار روی سرور از سمت کاربر کمتر شود و کش در این بخش نه تنها باعث کاهش مصرف پهنای باند میشود ، بلکه در کاهش فشار سرور هم موثر هست .
- افزایش سرعت بارگذاری سایت :
همان طور که قبل تر اشاره کردیم ، کش باعث میشود که یکبار برخی از اطلاعات همانند تصاویر گرافیکی سایت دانلود شوند و برای بار دوم دیگر این اطلاعات دانلود نمیشوند بلکه از همان حافظه نهان مرورگر استفاده می کند .
به خاطر همین موضوع مبحث کش یکی از مباحث اصلی بهینه سازی سایت می باشد و در تمامی اصول بهینه سازی سرعت لود سایت تنظیمات کش در اولویت قرار دارد چرا که موحب بهبود چشم گیر سرعت لود سایت می شود .
مثالی از کاربرد کش در مروگر ها :
در این بخش از مقاله (کش چیست) برایتان مثالی رو می آوریم که باعث میشود با کاربرد کش به صورت دقیق تر آشنا شوید :
بخش اول : فرض کنید در حال مرور یک صفحه از وب سایت هستید
بخش دوم : که در آن از یک یا چند تصویر و فایل سی اس اس استفاده شده است .
بخش سوم : این تصاویر و فایل ها در حافظه پنهان (Cache) مرورگر وجود ندارد :
چون کاربر قبلا این صفحه را مشاهده نکرده است .
بخش چهارم : در این صورت پروسه دریافت اطلاعات به صورت زیر می باشد :
در بالا تصویر کش شدن یک سایت را مشاهده میکنید .
توضیحات تصویر کش شدن یک سایت :
ما در بالا به صورت تصویری نحوه کش شدن یک سایت را به نمایش آودیم .
مراحل :
- ابتدا کاربر سایت مورد نظرش وارد میکند .
- سایت دارای یک یا چند تصویر و فایل های جاوا اسکریپت و سی اس اس می باشد .
- بررسی میشود آیا این تصاویر و فایل ها در کش مرورگر وجود دارند یا خیر ؟
- نتیجه بررسی : خیر هست ، یعنی وجود ندارد .
- پس تصویر از سرور سایت دانلود میشود .
- تصویر به کاربر نمایش داده میشود .
- چون تصویر وجود نداشته است در حافظه کش مرورگر ، کاربر ذخیره میشود .
- پایان
نکته : ما به جهت درک مفهوم این تصویر رو بسیار ساده ترسیم کرده ایم . مطئنا اگر میخواستیم با جزئیات بیشتر رسم کنیم این تصویر دارای فلش های رفت و برگشت بیشتری بود که به جهت جلوگیری از ابهامات برخی از جزئیات حذف شده است .
پروسه ای که نشان داده شده است برای دفعه اول است .
لودینگ سایت برای بار دوم :
در زیر میتوانید پروسه لودینگ یک سایت رو در حالت کش شده مشاهده کنید :
جزئیات لودینگ یک سایت کش شده برای بار دوم :
وقتی یک سایت کش شده باشد ، پروسه به صورت زیر هست :
- کاربر سایت مورد نظرش رو وارد میکند .
- سایت دارای یک یا چند تصویر + یک چند فایل سی اس اس ، جاوا اسکریپت و… هست .
- بررسی میشود ، آیا این فایل ها در حافظه پنهان ، کش وجود دارد یا خیر ؟
- پاسخ بررسی : مثبت هست ، یعنی فایل ها وجود دارد ، چون قبلا یک بار سایت باز شده است و تصاویر و فایل های مربوطه ذخیره شده اند .
- این بار از حافظه کش تصاویر و فایل ها به کاربر نمایش داده میشوند .
- پایان
فکر میکنم ، حالا باید متوجه شده باشید که فرق حالت این که یک سایت کش بشه یا نه چه فرقی دارد ، همان طور که مشاهده میکنید . جداقل 2 مرحله از کل پروسه حذف میشود و همچنین به جای این که فایل ها از سرور دانلود بشند از حافظه نهان نشان داده میشود .
و این باعث میشود که سرعت لودینگ تصاویر و فایل ها بسیار سریع تر باشد .
این پروسه دقیقا تصویری هست از کاری که در اصول بهینه سازی سرعت لود سایت در بخش تنظیمات کش انجام میشود .
حالا اگر کش نباشه :
ما در بالا گفتیم که اگر کش باشه مسیر به چه صورت هست ، حالا در ادامه می گوییم که اگر کش نباشه ، مسیر به چه صورت هست :
در این حالت کلا در دفعات اول ، دوم ، و N که کاربر از سایت یا صفحه بازدید کند ، روال براساس تصویر فوق به صورت زیر هست :
- کاربر سایت مورد نظرش رو در مرورگر وارد میکند .
- سایت دارای یک تصویر می باشد .
- تصویر از سرور دانلود میشود .
- تصویر دانلود شده نمایش داده میشود .
- پایان
در تعداد این حالت تعداد کمتری دارد ، ولی بخشی اساسی که در حالت کش شده و کش نشده هست .
در دانلود تصاویر تکرای هست .
وقتی یک صفحه کش می شود ، برای بار اول تصاویر دانلود می شود و برای بار های بعدی دیگر تصاویر تکراری دانلود نمیشود .
که این بهینه سازی موجب صرفه جویی در مصرف ترافیک هست . + در سرعت لود هم تاثیر بسیاری دارد .
ولی وقتی یک صفحه کش نمی شود ، برای بار اول تصاویر دانلود میشود و برای دفعات بعدی هم باز تصاویر تکراری دانلود میشود .
کش چیست – توضیحات پایانی :
امیدواریم که مقاله (کش چیست) برای شما مفید واقع شده باشد ، ما در این مقاله تقریبا اکثر مواردی که لازم بود ، بدانید رو مطرح کردیم .
اما باز سعی میکنیم در خصوص مسائل کش در آینده توضیحات بیشتری رو ارائه کنیم .
از این که تا اینجا این مقاله در کنار ما بودید ، از شما متشکریم .
و برای شما کاربران عزیز تا مقالات بعدی ، بهترین ها رو آرزومندیم .