رفتن به محتوا
nsin docs

نحوه‌ی کار cache

یک cache یک نسخه‌ی ذخیره‌شده از صفحات و فایل‌های شماست که نزدیک بازدیدکنندگانتان نگه داشته می‌شود. nsin آن را بلافاصله سرویس می‌دهد — صفحات سریع‌تر بارگذاری می‌شوند، سرور کمتر کار می‌کند. به محض این‌که سایت شما زنده شد، به‌طور خودکار روشن می‌شود.

  • فایل‌های static (تصاویر، CSS، JS، فونت‌ها، مدیا، دانلودها) برای هر دامنه به‌طور خودکار بر اساس پسوند فایل cache می‌شوند، مثل Cloudflare. HTML هرگز این‌طور cache نمی‌شود.
  • صفحاتی که برای هر کاربر تغییر می‌کنند، مثل صفحه‌ی حساب کاربری، uncached می‌مانند، تا هرکس داده‌ی خودش را ببیند.

nsin از هدر Cache-Control سرور شما پیروی می‌کند، یا بعد از ۵ دقیقه دوباره بررسی می‌کند. هیچ‌وقت فایل‌های no-store/private، پاسخ‌هایی که cookie می‌گذارند، یا دانلودها (PDF، ZIP) را برای یک بازدیدکننده‌ی لاگین‌کرده ذخیره نمی‌کند.

query string بخشی از کلید cache است: style.css?v=42 و ?v=41 دو object متفاوت هستند، پس busting با ?v= همین‌طوری کار می‌کند. فایل‌های با نام hash‌شده (app.3f9c.js) نیازی به purge ندارند.

css js svg svgz ico png jpg jpeg gif webp avif bmp tif tiff pict eps
woff woff2 ttf otf eot mp3 mp4 webm ogg flac mkv avi mid midi swf pdf
doc docx xls xlsx ppt pptx csv txt zip rar 7z gz bz2 tar zst exe dmg
iso apk bin jar class ps pls ejs

پاسخی که این‌طور cache شده هدر Nsn-Cache-Rule: default دارد؛ پاسخی زیر rule خودتان این را ندارد. این را برای هر دامنه در صفحه‌ی Cache خاموش کنید، یا با Cache Rules دقیق‌تر تنظیم کنید — rules برنده می‌شوند.

هر پاسخ هدر Nsn-Cache-Status دارد، که در analytics هم نشان داده می‌شود:

وضعیتمعنی
HITاز قبل یک نسخه داشت؛ بلافاصله سرویس داده شد، سرور درگیر نشد.
MISSهنوز نسخه‌ای نبود — از سرور شما گرفته و ذخیره شد.
BYPASSعمداً رد شد (یک cookie، هدر Authorization، یا یک cache rule).
DYNAMICقابل cache نیست، پس مستقیم از سرور شما سرویس داده شد.

اولین بازدید اغلب MISS است، بازدیدهای بعدی معمولاً HIT هستند. یک MISS گاه‌به‌گاه بعد از آن هم طبیعی است. برای لیست کامل ببینید Proxy Headers.

هنوز نسخه‌ی قدیمی می‌بینید؟ همه‌چیز را پاک کنید، یا فقط همان صفحه را: Purge و مرور cache.