Cache در مروگر چیست؟

آموزش وب ، طراحی وب ، آموزشات فرعی ،
353 بازدید
Cache در مروگر چیست؟
قبل از همه پیشنهاد می کنم به هیچ وجه این مطلب را از دست ندهید و تا پایان آن را مطالعه کنید. شاید تا به حال با کلمه ی cache (تلفظ: کَش) روبرو شده باشید.…

قبل از همه پیشنهاد می کنم به هیچ وجه این مطلب را از دست ندهید و تا پایان آن را مطالعه کنید.

شاید تا به حال با کلمه ی cache (تلفظ: کَش) روبرو شده باشید. این کلمه مربوط به یکی از امکانات مرورگر ها است که اگر علاقه داشته باشید می توانید در این باره متن زیر را بخوانید.

برای این که بتوانید یک طراح وب حرفه ای بشوید باید اطلاعات زیادی در زمینه ی برنامه نویسی و کد نویسی وب داشته باشید. اما این ها به تنهایی کافی نیست. شما در کنار حرفه ای بودن در طراحی باید درباره ی مرورگر های معروف و امکانات آن ها اطلاعاتی کسب کنید تا بتوانید متناسب با آن ها صفحات را طراحی کنید.

درباره ی امکان cache باید بگویم که یکی از امکانات فوق العاده لازم برای وب است. اگر این امکان وجود نداشت ، هم ترافیک اینترنت شما خیلی زود تمام می شد و هم هزینه ی نگه داری هاست ها و سرور ها خیلی زیاد می شد.

کش چیست؟

کش یا حافظه ی نهان امکانی است که در مرورگر ها وجود دارد تا وقتی شما از صفحه ای در وب بازدید می کنید ، قسمت هایی از آن صفحه در سیستم شما ذخیره شوند تا وقتی بعدا دوباره خواستید آن صفحه را ببینید ، نیازی به بارگذاری کامل صفحه نباشد. با این کار نه تنها صفحه زود تر نمایش داده می شود بلکه دیگر لازم نیست ترافیک زیادی از سرور و کاربر برای رساندن فایل های تکراری صرف شود.

طرز کار کش

حتما فکر می کنید که این امکان چطور کار می کند. خب اگر اینطور باشد که فایل های روی سایت های مختلف در مرورگر ما ذخیره شود احتمالا باید چند مشکل پیش بیاید:

  • قسمت زیادی از حافظه ی سیستم ما پر می شود
  • اگر در سایت تغییری ایجاد شود ما از آن مطلع نمی شویم
  • سرور از کجا می فهمد که مرورگر ما فایل ها را دارد یا نه؟

به ترتیب جواب این مشکلات را می دهیم:

حجم زیادی فایل های کش

1. یکی از مشکلاتی که در بعضی از مرورگر ها وجود دارد همین موضوع است که حجم زیادی از اطلاعات را ذخیره می کنند و پس از مدتی باعث کندی سیستم هنگام اجرای مرورگر می شوند. در گوشی های هوشمند هم به دلیل محدودیت حافظه ، اگر قرار باشد حجم زیادی را مروگر با فایل های cache خود ذخیره کند دیگر جایی برای کار های دیگر نخواهد بود. ما می توانیم این موضوع را به عنوان یکی از نقص های این امکان بیان کنیم.

نکته: توجه داشته باشید که مرورگر ها همه ی صفحات و فایل ها را در کش ذخیره نمی کنند. به طور پیشفرض اکثر مرورگر ها فایل های js , css , تصاویر و صفحات html ثابت را در کش ذخیره می کنند. پس فکر نکنید که تمام اینترنت در مروگر شماست!!!

2. این مشکل هم یکی از مشکلات این امکان به حساب می آید. اما مشکل تغییر پذیری صفحات وب کاملا قابل حل است. اگر برنامه نویسان و طراحان وب اطلاعات کافی در این زمینه داشته باشند ، دیگر این یک مشکل نخواهد بود. البته همان طور که در نکته بالا گفته شد ، مرورگر ها قرار نیست تمام فایل ها را ذخیره کنند. در صورتی که سرور فایلی را به عنوان فایل قابل ذخیره سازی در کش مشخص نکند ، مرورگر ها آن را ذخیره نخواهند کرد. (درباره ی چگونگی ارتباط مرورگر با سرور این مطلب را بخوانید.)

در مطالب بعدی توضیح می دهم که چگونه می توانید صفحه ای طراحی کنید که بعد از تغییر فایل های js و css آن مرورگر این موضوع را تشخیص بدهد و فایل جدید را دریافت کند.

تغییر کش

3.  (درباره ی چگونگی ارتباط مرورگر با سرور این مطلب را بخوانید.) مرورگر با اطلاعاتی که در هدر دریافت می کند می فهمد که آیا فایل ایستا (static) است یا پویا (dynamic)(برای مطالعه ی مطلب در مورد صفحات ایستا و پویا اینجا کلیک کنید). این اطلاعات در قسمت Cache-Control ارسال می شوند. سرور در این قسمت اطلاعاتی همچون کش پذیر بودن ، عمر کش و ... را ارسال می کند. مرورگر هم اگر فایلی را از قبل داشته باشد ، درخواست دریافت آن را به سرور ارسال نخواهد کرد.

رمز تمام فایل های فشرده
رمز فایل فشرده است.