قوانین کش
قانون کش تعیین میکند کش برای آدرسهایی که پوشش میدهد چطور کار کند. یک دامنه میتواند چند قانون کش با تنظیمات متفاوت داشته باشد — یکی برای تصاویر، یکی برای API و یکی که کش را برای صفحات حساب کاربری خاموش میکند.
هر قانون مستقل است: هر قانونی که با درخواست بخواند، همهی جزئیات کششدن آن درخواست را تعیین میکند.
ساختن قانون کش
Section titled “ساختن قانون کش”- به قوانین ← افزودن قانون ← قانون کش بروید.
- تعیین کنید شامل چه آدرسهایی میشود (
/*برای همهچیز،/assets/*برای یک پوشه و…). - انتخاب کنید چه چیزی و چه مدت کش شود.
- ذخیره کنید.
چه چیزی کش میشود: دامنهی کش
Section titled “چه چیزی کش میشود: دامنهی کش”| دامنه | چه چیزی کش میشود |
|---|---|
| فایلهای ثابت | تصویر، CSS، جاوااسکریپت، فونت، دانلود — بر اساس پسوند فایل. پیشفرض امن. |
| همهچیز | هر پاسخ قابل کش، از جمله صفحات HTML. |
حالت «سفارشی» وجود ندارد: برای کش کمتر، مسیرهای قانون را محدودتر کنید.
چه مدت: TTL و تازهسازی
Section titled “چه مدت: TTL و تازهسازی”- مدت کش (TTL) — هر نسخه چه مدت تازه بماند پیش از اینکه nsin نسخهی جدید بگیرد.
- تازهسازی پسزمینه — nsin نسخه را طبق زمانبندی دوباره میگیرد در حالی که نسخهی فعلی همچنان سرویس میشود، پس بازدیدکننده هیچوقت منتظر نمیماند. برای صفحهی اصلی پرترافیکی که هر چند دقیقه عوض میشود مفید است.
کوئریاسترینگ
Section titled “کوئریاسترینگ”یک صفحه میتواند برای ?page=1 و ?page=2 متفاوت باشد. درج کوئریاسترینگ را
روشن کنید تا هر حالت جداگانه کش شود؛ خاموش بگذارید تا همه یک نسخهی مشترک داشته
باشند.
برای جایی که کوئری محتوا را عوض میکند روشنش کنید. برای جلوگیری از ذخیرهی هزار نسخه از یک صفحه بهخاطر پارامترهای ردیابی، خاموش بگذارید.
بررسیهای ایمنی
Section titled “بررسیهای ایمنی”اینها بهصورت پیشفرض روشناند تا کش نتواند دادهی خصوصی را نشت دهد. هرکدام جداگانه قابل خاموشکردناند — فقط وقتی این کار را بکنید که مطمئنید پاسخ برای همه یکسان است.
| بررسی | چهکار میکند |
|---|---|
رد کردن درخواستهای دارای هدر Authorization | درخواستهای احرازهویتشده را کش نمیکند. |
| رد کردن پاسخهایی که کوکی ست میکنند | پاسخی که کوکی نشست میسازد مخصوص همان بازدیدکننده است. |
رعایت no-store از سمت بازدیدکننده | درخواست صریح مرورگر برای ذخیرهنکردن را رعایت میکند. |
رعایت Cache-Control سرور شما | اجازه میدهد هدرهای کش سرور شما تصمیم بگیرند. |
استفاده از max-age سرور شما | مدت کش را بهجای TTL قانون از سرور شما میگیرد. |
| هرگز کش نکردن مسیرهای مدیریت وردپرس | /wp-admin و /wp-login.php را دست نمیزند. |
کش کنم یا نه؟
Section titled “کش کنم یا نه؟”| اگر صفحه… | این کار را بکنید |
|---|---|
| برای همه یکسان است (نوشتهی وبلاگ، تصویر) | کش کنید |
| برای هر فرد فرق دارد (حساب، سبد خرید، داشبورد) | کش نکنید — یا بررسیهای ایمنی را روشن بگذارید |
| مدام تغییر میکند (نتایج زنده، موجودی) | TTL کوتاه یا تازهسازی پسزمینه |
سوالهای رایج
Section titled “سوالهای رایج”یک صفحهی خصوصی کش شد و دادهی اشتباه نشان داد. قانون کشی برای آن مسیر بسازید که کش نکند و یکبار پاکسازی کنید. سپس بررسی کنید قانون گستردهتری با دامنهی همهچیز و بررسی کوکی خاموش وجود نداشته باشد — تقریباً همیشه علت همین است.
تغییراتم دیده نمیشود. آن آدرس را پاکسازی کنید یا هنگام کار حالت توسعهدهنده را روشن کنید.
کدام قانون روی یک درخواست اعمال شد؟
هدر پاسخ Nsn-Cache-Status میگوید درخواست چطور مدیریت شده — به
هدرهای پراکسی ببینید.