معرفی مفهوم Cache Control و روش کار با آن

معرفی مفهوم Cache Control و روش کار با آن

در این مقاله می خوانید:

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

اما پیش از پرداختن در مورد آموزش کار با Cache Control یا همان کنترل کش، لازم است تا با مفهوم Cache آشنا شویم و همچنین تعریف کنیم Cache Browser به چه معناست و لازمه استفاده از آن در مرورگرها چیست؟

حافظه Cache چیست؟

Cache یک روش است که با استفاده از آن می توان سرعت بارگذاری صفحات وب را افزایش داد. Cache وب سایت به معنای ذخیره سازی موقت بخش هایی از صفحات وب است که معمولا تغییر نمی کنند، مانند تصاویر، فونت ها، فایل های CSS و JavaScript. با این کار، هر بار که کاربر یک صفحه وب را باز می کند، نیازی نیست که تمام این بخش ها را دوباره از سرور دریافت کند، بلکه می تواند از نسخه ای که در حافظه موقت مرورگر یا سرور پروکسی ذخیره شده است، استفاده کند. این کار باعث می شود که صفحات وب سریع تر بارگذاری شوند و ترافیک شبکه کاهش یابد.

Cache وب سایت دارای دو نوع اصلی است:

  • Cache سمت کاربر (client-side caching)
  • Cache سمت سرور (server-side caching)

Cache سمت کاربر به معنای ذخیره سازی بخش های صفحات وب در حافظه موقت مرورگر کاربر است. این نوع کش با استفاده از HTTP headers مانند Cache-Control، Expires و ETag تنظیم می شود. با این روش، مرورگر می تواند بفهمد که چه بخش هایی از صفحات وب را باید در حافظه موقت خود ذخیره کند و چگونه با سرور هماهنگ شود تا بفهمد که آیا نسخه ذخیره شده هنوز به روز است یا خیر.

Cache سمت سرور به معنای ذخیره سازی بخش های صفحات وب در حافظه موقت یک سرور پروکسی است. این نوع کش با استفاده از HTTP headers مانند Vary، Age و Last-Modified تنظیم می شود. با این روش، سرور پروکسی می تواند بفهمد که چگونه به درخواست های کاربران پاسخ دهد.

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

حافظه Cache چیست؟

حافظه مرورگر (Cache Browser) چیست؟

یکی از فاکتورهای مهم از نظر کاربر و هم از نظر گوگل سرعت بارگزاری سایت است. افزایش سرعت بارگزاری صفحات سایت به وسیله ذخیره فایل های پر استفاده روی مرورگری که کاربران برای جستجو از آن استفاده می کنند، را حافظه کش مرور یا (Cache Browser) گفته می شود. این تعریف به این معنی است که هر بار مرورگر کروم یا فایرفاکس شما وقتی صفحه ای را لود می کند، تمام فایل های HTML ،CSS ،Javascript موجود در آن صفحه را هم دانلود می کند.

برخی از سایت ها که مقدار این فایل هایشان زیاد است باعث می شوند که سایت دیرتر و با سرعت کمتری بارگزاری شود، استفاده از حافظه مرورگر کش نیز به همین دلیل است. سوال مهم این است که این فایل ها چرا موجب کاهش سرعت سایت می شوند؟ دو جواب کلی برای این مورد وجود دارد:

بیشتر بخوانید: تاثیر سرعت بارگزاری در سئوی سایت

  • برخی از فایل های موجود در سایت برای دانلود شدن نیاز به زمان زیادی دارند و به همین دلیل سرعت اینترنت های کم می تواند روند سرعت کار را کاهش دهد و کاربر زمان زیادی را معطل بماند.
  • فایل های موجود در صفحات سایت برای هر دانلود یک درخواست جدا به سرور ارسال می کند که باعث می شود به سرور اصلی فشار وارد شده و سرعت لود شدن سایت کاهش یابد.

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

دلیل دوم افزایش امتیاز سایت در سایت های Google Page Speed و GTMetrix است. فعال کردن قابلیت کش در مرورگرها زمانی اتفاق می افتد که یک وب مستر به صورت شخصی شده به مرورگرها اعلام کند که چه فایل هایی و تا چه زمانی باز شوند؟

بیشتر بخوانید: معرفی ابزار PageSpeed Insights و روش استفاده از آن

حافظه مرورگر (Cache Browser) چیست؟

مراحل فعال کردن Cache Browser

1- تغییر header در کدهای HTTP و تعریف تاریخ انقضا: قدم اول برای تغییر هدر در کدنویسی ها باید از فایل Htaccess که در تمام سرورها موجود و در دسترس است، استفاده کنید. (این فایل در ریشه اصلی هاست وجود دارد و با یک جستجوی ساده در کدهای صفحه می توانید آن را پیدا کنید.) برای تعریف مرورگر کش از یک نرم افزار ویرایشگر متن مثل نوت پد استفاده کنید.

2- سپس برای سایت در فایل Htaccess پارامترهای مختلف سایت را به گونه ای تعریف کنید که مرورگر فایر فاکس یا کروم تشخیص دهد که هر فایل را تا چه مدت در حافظه خودش نگه داری کند. کدهای زیر به شما کمک می کند تا زمان نگه داری و انقضای فایل های عکس با فرمت های مختلف، فایل های PDF، فایل های مربوط به اپلیکیشن و … را چگونه در حافظه کش مرورگر ذخیره کنید.

3- پس از وارد کردن این کدها آن را در فایل Htaccess ذخیره کنید و سپس از هر مرورگری که استفاده می کنید، refresh کنید.

نکته قابل توجه در اضافه کردن کدها این است که، برای این که مطمئن شوید این کدها را به درستی اضافه و ذخیره کرده اید، وارد سایت Gtmetrix.com شوید و گزینه Leverage Browser را بررسی کنید. در صورتی که این گزینه نمره بالایی گرفته، یعنی کدها به درستی عمل می کند.

بیشتر بخوانید: آشنایی با ابزار جی تی متریکس GTmetrix و راهنمای استفاده از آن

Cache-Control چیست؟

Cache Control (کش کنترل) یکی از Header های مختص پروتکل های HTTP است که زمان و نحوه کش شدن را برای یک مرورگر تعیین می کند.

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

وقتی که این لوگو به Header به حافظه کش مرورگر با یک زمان مشخص اضافه شود، طبق زمانی که در کش مشخص کرده اید (مثلا 10 دقیقه) تا 10 دقیقه دیگر این لوگو در حافظه کش مرورگر ذخیره می شود و تا 10 دقیقه دیگر وقتی کاربر وارد سایت شود، لوگو دوباره نیازی به دانلود شدن ندارد و از حافظه کش نمایش داده می شود. این مسئله باعث افزایش سرعت لود سایت می شود و در بهبود سئوی سایت بسیار موثر است.

مدت زمان ذخیره شدن فایل در کش با قابلیت Max Age

قابلیت Max Age یک خصوصیت در ساختار Cache Control است که با استفاده از آن می توانید زمان کش شدن یک فایل در مرورگر را با واحد ثانیه ذخیره و مشخص کنید. یعنی 2592000 ثانیه معادل یک ماه است. برای مثال مقادیر زیر برای خصوصیت Max Age برای مدت زمان ذخیره شدن قابلیت کش نوشته و تعیین می شود:

  • Max age= 60 یک دقیقه
  • Max age= 3600 یک ساعت
  • Max age= 86400 یک روز
  • Max age= 604800 یک هفته
  • Max age= 2628000 یک ماه
  • Max age= 31536000 یک سال

مدت زمان ذخیره شدن فایل در کش با قابلیت Max Age

3 خصوصیت عمده دامنه کش

  • Public: از دستور Public زمانی استفاده می شود که فایل ها امنیتی و حساس نیستند و برای بالا بردن سرعت سایت باید از کش استفاده کنید.
  • Private: از این خصوصیت زمانی استفاده می شود که می خواهید محتوای بارگزاری شده به شخص کاربر وابسته است و زمانی که کاربر جدید می خواهد وارد شود باید تغییر کاربری بدهد. در این مورد هم خصوصیات و فایل ها امنیتی و حساس نیستند اما فقط مختص یک نفر هستند.
  • No store: خصوصیت NO store به نام خصوصیت رسمی نیز شناخته و نامیده می شود. زمانی که از این خصوصیت برای فایل ها استفاده می شود، یعنی فیل های مشخص شده کش نمی شوند. استفاده از این خصوصیت برای فایل ها به این معنی نیست که فایل ها در وضعیت ایمن هستند بلکه به این معنی است که فایل ها فقط کش نمی شوند.

چه فایل هایی را کش کنیم؟

بحث اصلی در Cache Control در اصل از این جا شروع می شود که هر سئوکار باید آن ها را بداند.

  • برای مثال فایل تصاویر که دارای فرمت های مختلف png، jpg، gif است. فایل تصاویر معمولا تغییر نمی کند و برای کش شدن بهترین زمان تعیین شده زمان یک سال یا معادل Max Age= 31536000 است.
  • مدت زمان کش فایل های CSS: فایل های CSS مربوط به استایل کلی سایت است. در صورتی که مرتبا فایل های CSS سایت را تغییر می دهید بهتر است که مدت زمان یک هفته و حداکثر یک ماه را برای فایل های CSS را تعیین کنید.
  • مدت زمان کش فایل های ICO یا فایل Favicon که معمولا تغییری نمی کند، بهتر است که مدت زمان یک سال برای کش انتخاب شود.

چه فایل هایی را کش کنیم؟

خطرات انتخاب اشتباه Browser caching

آن چه در سطر بالا گفته شد مدت زمان تقریبی و منطقی برای تعیین مدت زمان کش فایل های مختلف است. برای مثال در صورتی که برای فایل های Javascript مدت زمان یک سال یا 6 ماه را تعیین کرده باشید و در ماه اول بخواهید فایل ها را تغییر دهید و ویرایش کنید، این تغییرات در حافظه مرورگر کش ذخیره و ثبت نشده و مرورگر باز هم از حافظه مرورگر کش قبلی استفاده می شود.

همچنین فایل های جدیدی که در آن تغییر ایجاد کرده اید روی سرور آپلود نمی شود و تمام فرمت های مربوط به فایل های Javascript بهم می ریزد. خلاصه کلام این است که برای فایل های تعیین شده برای کش زمان زیاد و طولانی انتخاب نکنید.

استفاده از Cache Control در وب سرورهای مختلف

در این جا صحبت از این است که برای هر نوع فایل از کش منحصر به فرد استفاده کنیم. برای مثال اگر وب سرور شما apache (آپاچی) است، بهتر است که از طریق http.cont برای انتخاب و ویرایش کش استفاده کنید، چون سرعت بهتری دارد. برای این کار لازم است که فایل http.cont را جستجو کنید و کدهای زیر را درون آن قرار دهید:

در صورتی که سرور شما NGINX است، باید از نوع ساختار زیر استفاده کنید:

در خط دوم Expires به معنی این است که کش تا 365 روز دیگر منقضی می شود و اعتبار ندارد.

سخن پایانی

به عنوان سخن پایانی، مقاله حاضر به بررسی مفهوم Cache Control و اهمیت آن در بهبود عملکرد وب سایت ها پرداخته است. کنترل کش یک روش است که با استفاده از آن می توان محتوای وب را در حافظه موقت مرورگر یا سرور ذخیره کرد تا در دفعات بعدی درخواست، سرعت بارگذاری صفحات افزایش یابد و منابع شبکه صرفه جویی شود. کنترل کش با استفاده از سرآیندهای HTTP مانند Cache-Control، Expires، ETag و Last-Modified انجام می شود.

در این مقاله، نحوه تنظیم این سرآیندها و تاثیر آن ها بر روی نحوه کش شدن محتوا توضیح داده شده است. همچنین، برخی از روش های پیشرفته تر برای کنترل کش مانند Service Worker و Cache API معرفی شده اند. این روش ها به توسعه دهندگان امکان می دهند تا با استفاده از جاوااسکریپت، رفتار کش را به صورت دقیق تعیین کنند و حتی در شرایط آفلاین نیز صفحات وب را نمایش دهند.

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

تیم تحریریه کلیک اول

نویسنده در بلاگ کلیک اول

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

0 دیدگاه ثبت شده است.

در بحث و گفتگوی مربوط به این مطلب شرکت کنید!

آکادمی کلیک اول

دریچه ای به سوی آموزش های رایگان در فضای دیجیتال مارکتینگ

آموزش پایه ای کار با ابزار گوگل سرچ کنسول

دوره آموزشی گوگل سرچ کنسول (Google Search Console)

سئو و بهینه سازی

گوگل سرچ کنسول یا Google Search Console یکی از مهم ترین ابزارهای سئوی حرفه ای سایت است. شما با کمک این ابزار می توانید با گوگل ارتباط برقرار کرده و به درستی یا نادرستی عملکرد خود در مسیر بهینه سازی سایت پی ببرید.

02:21:00
آموزش پایه ای کار با گوگل آنالیتیکس

دوره آموزشی گوگل آنالیتیکس 4 (Google Analytics 4)

سئو و بهینه سازی

گوگل آنالیتیکس (Google Analytics) یکی از ابزارهای پرکاربرد گوگل بوده و وظیفه آن بررسی آمار سایت ها و تحلیل آن هاست..

02:43:00
آموزش کار با افزونه پرکاربرد یواست

آموزش کار با افزونه پرکاربرد یواست (Yoast)

دیجیتال مارکتینگ

یواست سئو (Yoast SEO) یک افزونه وردپرس است که به عملکرد بهتر سایت در موتورهای جستجو مانند گوگل کمک می کند. همچنین ابزارهایی را در اختیار شما قرار می دهد تا محتوای خود را به بهترین استانداردهای سئو و خوانایی برسانید.

00:22:06