کش HTTP می تواند زمان بارگذاری صفحه شما را در بازدیدهای مکرر افزایش دهد.
هنگامی که یک مرورگر منبعی را درخواست می کند، سرور ارائه دهنده منبع می تواند به مرورگر بگوید که چه مدت باید به طور موقت منبع را ذخیره یا کش کند . برای هر درخواست بعدی برای آن منبع، مرورگر به جای دریافت آن از شبکه، از نسخه محلی آن استفاده می کند.
چگونه ممیزی خط مشی کش Lighthouse شکست می خورد
Lighthouse همه منابع استاتیکی را که در حافظه پنهان ذخیره نمی شوند، علامت گذاری می کند:
Lighthouse یک منبع را در صورت وجود تمام شرایط زیر در نظر می گیرد.
- منبع یک فونت، تصویر، فایل رسانه ای، اسکریپت یا شیوه نامه است.
- این منبع دارای کد وضعیت HTTP
200
،203
یا206
است. - این منبع یک خط مشی صریح بدون حافظه پنهان ندارد.
هنگامی که صفحه ای در ممیزی با شکست مواجه می شود، Lighthouse نتایج را در یک جدول با سه ستون فهرست می کند:
URL | محل منبع قابل کش |
کش TTL | مدت زمان کش فعلی منبع |
اندازه انتقال | تخمینی از دادههایی که کاربران شما در صورت ذخیرهسازی منبع پرچمگذاری شده ذخیره میکنند |
چگونه منابع استاتیک را با استفاده از HTTP cache کنیم
سرور خود را برای بازگرداندن هدر پاسخ HTTP Cache-Control
پیکربندی کنید:
Cache-Control: max-age=31536000
دستورالعمل max-age
به مرورگر می گوید که چه مدت باید منبع را در چند ثانیه کش کند. این مثال مدت زمان را روی 31536000
تنظیم می کند که مربوط به 1 سال است: 60 ثانیه × 60 دقیقه × 24 ساعت × 365 روز = 31536000 ثانیه.
شما باید دارایی های ثابت غیرقابل تغییر را برای مدت طولانی، مانند یک سال یا بیشتر، کش کنید.
اگر منبع تغییر می کند و تازگی اهمیت دارد، از no-cache
، اما همچنان می خواهید برخی از مزایای سرعت کش را به دست آورید. مرورگر همچنان منبعی را ذخیره میکند که روی no-cache
تنظیم شده است، اما ابتدا با سرور بررسی میکند تا مطمئن شود که منبع هنوز جاری است.
مدت زمان کش طولانی تر همیشه بهتر نیست. در نهایت، این شما هستید که تصمیم می گیرید مدت زمان کش بهینه برای منابع شما چقدر باشد.
دستورالعمل های زیادی برای سفارشی کردن نحوه ذخیره منابع مختلف توسط مرورگر وجود دارد. درباره ذخیره منابع در حافظه پنهان HTTP بیشتر بیاموزید: اولین خط راهنمای دفاعی شما و پیکربندی کدهای رفتار حافظه پنهان HTTP .
نحوه تأیید پاسخ های ذخیره شده در حافظه پنهان در Chrome DevTools
برای اینکه ببینید مرورگر چه منابعی را از حافظه پنهان خود دریافت میکند، تب Network را در Chrome DevTools باز کنید:
[نظر]: <> (لیست زیر یک کد کوتاه از web.dev بود، اما از انگلیسی برای هیچ زبانی ترجمه نشده بود.) 1. برای باز کردن Control + Shift + J
(یا Command + Option + J
در Mac) را فشار دهید تا باز شود. DevTools. 2. روی تب Network کلیک کنید.
ستون Size در Chrome DevTools می تواند به شما کمک کند تأیید کنید که یک منبع در حافظه پنهان ذخیره شده است:
کروم بیشترین منابع درخواستی را از کش حافظه ارائه می کند که بسیار سریع است، اما با بسته شدن مرورگر پاک می شود.
برای تأیید اینکه هدر Cache-Control
یک منبع مطابق انتظار تنظیم شده است، دادههای هدر HTTP آن را بررسی کنید:
- روی URL درخواست، در زیر ستون نام جدول درخواستها کلیک کنید.
- روی تب Headers کلیک کنید.
راهنمایی مخصوص پشته
دروپال
حداکثر سن مرورگر و حافظه پنهان پراکسی را در صفحه Administration > Configuration > Development تنظیم کنید. به منابع عملکرد دروپال مراجعه کنید.
جوملا
کش را ببینید.
وردپرس
ذخیره مرورگر را ببینید.