حافظه نهان (Cache) مرورگر چیست؟
حافظه نهان یا Cache مرورگر، قسمتی از حافظه جانبی است که وظیفه حفظ آیتمهایی مانند تصاویر، صفحات وب و… را دارد که قبلاً توسط کاربر مرور شده اند. در ادامه با ما باشید تا با حافظه نهان مرورگر آشنا شوید.
حافظه نهان (Cache) مرورگر چیست؟
حافظه نهان یا کش (Cache) مرورگر قسمتی از حافظه جانبی است که کپیای از آیتمهایی که قبلاً توسط کاربر در یک صفحه وب مرور شده اند را نگه داری میکند. این آیتمها ممکن است تصاویر گرافیکی (مانند لوگوها، بنرها و به طور کل، تمامی تصاویر صفحه مورد نظر)، کل صفحه وب، فایلهای CSS و… باشند.
زمانی که کاربر برای بار اول یک صفحه وب را مرور میکند، تمامی منابع (مانند تصاویر و…) جدید توسط مرورگر بارگیری (Download) شده سپس به کاربر نشان داده میشود. در این هنگام مرورگر برخی از این منابعی که بند اول نام برده شدند را کدگذاری کرده (به دلیل مسائل امنیتی)، سپس در قسمتی از حافظه جانبی ذخیره میکند. این آیتمهای ذخیره شده که در اصل کپیای از منابع اصلی خود هستند، حافظه نهان مرورگر (Browser Cache) نامیده میشوند. هر یک از فایلهای کش شده تاریخ انقضاءای دارند که ممکن است توسط وب سرور یا خود مرورگر مشخص شود.
چرا Cacheهای مرورگر را پاک میکنیم؟
کشها باعث افزایش سرعت مرور وب میشوند. اما ممکن است در بسیاری از موارد، فایلهای اصلیای توسط مرورگر کش شده اند، از طرف سرور، سازندگان و طراحان یا به هر دلیل دیگری تغییر داده شوند. در این حالت ممکن است مرورگر همان فایل کش شده را به کاربر نشان دهد درحالی که این فایل کش شده با فایل اصلی تفاوت دارد. برای مثال، یک تصویر ممکن است توسط مرورگر کش شود. در این صورت زمانی که حتی تصایر اصلی تغییر داده شود، ممکن است مرورگر همان تصویر قدیمی کش شده را به کاربر نشان دهد.
درصورتی که میخواهید کشهای مرورگر خود را پاک کنید به یکی از پستهای زیر با توجه به مرورگر مورد نظر خود، مراجعه کنید:
حافظه نهان (Cache) مرورگر چه کاربردی دارد؟
مرورگرها به دلایل مختلفی از فرایند Caching استفاده میکنند. کش مرورگر باعث کاهش شدید پنهای باند مصرف شده از طرف کاربر و فشار موجود روی سرورهای وبسایت میشود. هنگامی که کاربر برای بار اول صفحه وب را مرور کرده و منابع وب در حافظه نهان ذخیره میشوند (عمل Caching)، برای دفعات بعدی که کاربر قصد مرور همان صفحه را دارد، تمامی منابع آن صفحه توسط مرورگر دانلود نخواهند شد. مرورگر با استفاده از الگوریتمهای خود، منابع موجود در صفحه را با فایلهای کش شده خود مقایسه میکند. در صورتی که طبق الگوریتم مرورگر، فایل کش شده با منبع موجود در صفحه یکی باشد، مرورگر منبع کش شده خود را نشان کاربر داده و دیگر فایل اصلی را دانلود نمیکند. به این ترتیب هم پنهای باند مصرفی به مقدار زیادی کاهش مییابد و هم فشاری بر روی سرورهای وبسایت وجود دارد.
برای مثال فرض کنید که درحال مرور یک صفحه HTML هستیم که در آن از یک منبع (در این مثال، یک تصویر) استفاده شده است. این تصویر در حافظه نهان (Cache) مرورگر وجود ندارد؛ چون قبلاً توسط مرورگر دریافت و مشاهده نشده است. در این گونه موارد، نمایش کلی پروسه مشاهده تصویر به این صورت است:
در مرحله اول کاربر صفحه HTMLای که پس از درخواست مرورگر دریافت شده است را مرور میکند. در این صفحه یک تصویر وجود دارد. بنابراین (مرحله ۲:) مرورگر تصویر مورد نظر را در حافظه نهان خود جستجو میکند. (مرحله ۳:) این تصویر قبلاً توسط مرورگر کش نشده است به همین دلیل در حافظه نهان، این تصویر وجود ندارد. مرورگر تصویر را در حافظه نهان خود پیدا نکرده است بنابراین (مرحله ۴:) از سمت سرور این تصویر را درخواست میکند. (مرحله۵:) سرور تصویر مورد نظر را به مرورگر ارسال میکند. حال مرورگر این تصویر را به کاربر نشان میدهد. (مرحله ۶:) به علاوه، این تصویر را برای مرورهای بعدی در حافظه نهان خود ذخیره میکند.
حال حالتی را درنظر بگیرید که فایل مورد نظر ما (در این مثال، یک تصویر) در حافظه نهان مرورگر وجود دارد. دراین گونه موارد، نمایش کلی مشاهده تصویر به این صورت است:
همانند حالت قبلی، در مرحله اول کاربر صفحه HTMLای که پس از درخواست مرورگر دریافت شده است را مرور میکند. در این صفحه یک تصویر وجود دارد. (مرحله ۲:) مرورگر تصویر مورد نظر را در حافظه نهان خود جستجو میکند. این تصویر به دلایلی (مثلاً در مرورهای قبلی)، قبلاً توسط مرورگر دانلود شده و در حافظه نهان مرورگر ذخیره (کش) شده است. (مرحله ۳:) مرورگر تصویر مورد نظر را در حافظه نهان پیدا کرده سپس به کاربر نشان میدهد.
همان طور که مشاهده میکنید، در حالت دوم، منبعی که قبلاً کش شده است، بار دیگر توسط مرورگر دانلود نشده و همان فایل کش شده به کاربر نشان داده میشود. در این حالت پهنای باندی که صرف دریافت منبع مورد نظر میشد، مصرف نخواهد شد. همچنین بار اضافیای بر روی سرور وبسایت وجود نخواهد داشت.
مطالب خوب بود ولي ميشه كمي بشترتوضيح بدهيد. ميخواهم بدانم حافظ اي نهان تاچه اندازه محدوديت دارد وتوسط چه اندازه ميشود.
سلام. ساختن کش برای پردازنده (نه برای مرورگر، مال مرورگر یه قسمت از فضای عادی از رمه. انگار یه عده فایل ذخیره میشن فقط) هزینه زیادی داره و معمولا از چندین کیلوبایت تا چندین مگابایت حجمشه. درسته خیلی کمه ولی سرعت بسیار زیادی داره. در ضمن، حافظه کش هم یه نوعی حافظه هستش و واحد اندازه گیری داده ها و حافظه ها هم بیت، بایت، کیلوبایت، مگابایت و … هست.
تشكر نصيري !
بااستفاده از مطالب فوق نتيجه ميگيريم كه مرور گرها سبب افزايش سرعت وب ميشود . ميخواهم بيدانم دركمپيوترهاي بيدون انترنت كش كدام نقش دارد ؟
سلام. بله دقیقا همینه. در کامپیوترهای بدون اینترنت، دو تا امکان وجود داره. یکی اینکه کامپیوتر در یک شبکه باشه و اینجوری کش برای صفحات محلی موجود در شبکه مورد استفاده قرار میگیره (توجه کنید برای مرورگرها رو میگیم) و یکی دیگه این که کامپیوتر در هیچ شبکه ای نباشه و اینجوری کش مرورگر هیچ نقشی نداره چون فرقی نمیکنه که مثلا از یه جای هارد یه عکس رو برداره و به کاربر نشون بده یا همون عکس رو در یه جای دیگه که فضای کش خودشه ذخیره کنه و اونو به کاربر نشون بده!
ممنون :مطلبم اخذ شد.
از زحمات شما متشکرم./
خیلی ممنون.
سلام و تشکر از تلاش صادقانه شما در نشر علم . امکان داره بنر سایت ما رو در سایت خود قرار بدهید و حامی کودکان آسمانی این موسسه شوید ؟
با تشکر
سلام. البته که قرار میدیم! یه عکس ۴۰ در ۴۰ بدید بزارم تو بخش “دوستان ما”
سلام دوست عزیز…
سوالی داشتم از حضورتون …بتونید کمکم کنید بی اندازه ممنون میشم
راستش من از سایتی خرید میکنم و مجبورم درخواست هامو بضورت آنلاین و گفتگوی آن /چت/ به اونا بگم مدتی هست نمیتونم تماس گرفتم گفتند احتمالا کش مرور گرتون پر شده در حالیکه من اگر با مرور گر دیگه ای هم وارد شم باز نمیتونم چت داشته باشم ..موارد سفارشی من به اونا ساعتی هست و من بلافاصله باید اعلام کنم وگرنه از دستم میره
خواهش میکنم بفرمائید آیا باید کش مرورگر رو پاک کنم؟ مربوط به اون میشه ؟ چون میگن دلیل اینکه نمیتونی چت انجام بدی پر شدن کش مرورگر هست…اگه اینکارو کنم گرچه شما در قسمتی توشیح دادین ولی برای خالی شدن اون باید کدوم قسمت رو پاک کنم که موارد مورد نیازم که بوکمارک شدن پاک نشه ممنون میشم کمکم کنید …و آسبی به پسورد ها و مواردی که باید باشند نزته؟
پاینده باشید
سلام. نه، فکر نکنم مشکل از کش باشه چون کلا بحثض جداس. پیشنهاد میکنم کوکی ها رو هم علاوه بر کش، حذف کنید. اگه گزینه حذف کردن پسورد هارو انتخاب نکنید مشکلی بوجود نمیاد. کش و کوکی و بوکمارک و رمز و … مستقل از همن. اگه بازم درست نشد مشکل از خودشونه یا ممکنه پلاگینی چیزی که نیاز داشته باشه رو ندارین که بازم باید از خودشون بپرسید.
ممنون عالی بود
خواهش میکنم 🙂