رفتن به محتوا

قوانین کش

قانون کش تعیین می‌کند کش برای آدرس‌هایی که پوشش می‌دهد چطور کار کند. یک دامنه می‌تواند چند قانون کش با تنظیمات متفاوت داشته باشد — یکی برای تصاویر، یکی برای API و یکی که کش را برای صفحات حساب کاربری خاموش می‌کند.

هر قانون مستقل است: هر قانونی که با درخواست بخواند، همه‌ی جزئیات کش‌شدن آن درخواست را تعیین می‌کند.

  1. به قوانینافزودن قانونقانون کش بروید.
  2. تعیین کنید شامل چه آدرس‌هایی می‌شود (/* برای همه‌چیز، /assets/* برای یک پوشه و…).
  3. انتخاب کنید چه چیزی و چه مدت کش شود.
  4. ذخیره کنید.

چه چیزی کش می‌شود: دامنه‌ی کش

Section titled “چه چیزی کش می‌شود: دامنه‌ی کش”
دامنهچه چیزی کش می‌شود
فایل‌های ثابتتصویر، CSS، جاوااسکریپت، فونت، دانلود — بر اساس پسوند فایل. پیش‌فرض امن.
همه‌چیزهر پاسخ قابل کش، از جمله صفحات HTML.

حالت «سفارشی» وجود ندارد: برای کش کمتر، مسیرهای قانون را محدودتر کنید.

  • مدت کش (TTL) — هر نسخه چه مدت تازه بماند پیش از این‌که nsin نسخه‌ی جدید بگیرد.
  • تازه‌سازی پس‌زمینه — nsin نسخه را طبق زمان‌بندی دوباره می‌گیرد در حالی که نسخه‌ی فعلی همچنان سرویس می‌شود، پس بازدیدکننده هیچ‌وقت منتظر نمی‌ماند. برای صفحه‌ی اصلی پرترافیکی که هر چند دقیقه عوض می‌شود مفید است.

یک صفحه می‌تواند برای ?page=1 و ?page=2 متفاوت باشد. درج کوئری‌استرینگ را روشن کنید تا هر حالت جداگانه کش شود؛ خاموش بگذارید تا همه یک نسخه‌ی مشترک داشته باشند.

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

این‌ها به‌صورت پیش‌فرض روشن‌اند تا کش نتواند داده‌ی خصوصی را نشت دهد. هرکدام جداگانه قابل خاموش‌کردن‌اند — فقط وقتی این کار را بکنید که مطمئنید پاسخ برای همه یکسان است.

بررسیچه‌کار می‌کند
رد کردن درخواست‌های دارای هدر Authorizationدرخواست‌های احرازهویت‌شده را کش نمی‌کند.
رد کردن پاسخ‌هایی که کوکی ست می‌کنندپاسخی که کوکی نشست می‌سازد مخصوص همان بازدیدکننده است.
رعایت no-store از سمت بازدیدکنندهدرخواست صریح مرورگر برای ذخیره‌نکردن را رعایت می‌کند.
رعایت Cache-Control سرور شمااجازه می‌دهد هدرهای کش سرور شما تصمیم بگیرند.
استفاده از max-age سرور شمامدت کش را به‌جای TTL قانون از سرور شما می‌گیرد.
هرگز کش نکردن مسیرهای مدیریت وردپرس/wp-admin و /wp-login.php را دست نمی‌زند.
اگر صفحه…این کار را بکنید
برای همه یکسان است (نوشته‌ی وبلاگ، تصویر)کش کنید
برای هر فرد فرق دارد (حساب، سبد خرید، داشبورد)کش نکنید — یا بررسی‌های ایمنی را روشن بگذارید
مدام تغییر می‌کند (نتایج زنده، موجودی)TTL کوتاه یا تازه‌سازی پس‌زمینه

یک صفحه‌ی خصوصی کش شد و داده‌ی اشتباه نشان داد. قانون کشی برای آن مسیر بسازید که کش نکند و یک‌بار پاک‌سازی کنید. سپس بررسی کنید قانون گسترده‌تری با دامنه‌ی همه‌چیز و بررسی کوکی خاموش وجود نداشته باشد — تقریباً همیشه علت همین است.

تغییراتم دیده نمی‌شود. آن آدرس را پاک‌سازی کنید یا هنگام کار حالت توسعه‌دهنده را روشن کنید.

کدام قانون روی یک درخواست اعمال شد؟ هدر پاسخ Nsn-Cache-Status می‌گوید درخواست چطور مدیریت شده — به هدرهای پراکسی ببینید.