Skip to content
nsin docs

How Caching Works

A cache is a saved copy of your pages and files, kept close to your visitors. nsin serves it right away — pages load faster, server works less. It turns on automatically once your site is live.

  • Static files (images, CSS, JS, fonts, media, downloads) are cached automatically for every domain by file extension, like Cloudflare. HTML is never cached this way.
  • Pages that change per user, like an account page, stay uncached, so people see their own data.

nsin follows your server’s Cache-Control header, or checks back after 5 minutes. It never stores no-store/private files, cookie-setting responses, or downloads (PDFs, ZIPs) for a logged-in visitor.

The query string is part of the cache key: style.css?v=42 and ?v=41 are different objects, so ?v= busting works as-is. Hashed filenames (app.3f9c.js) need no 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

A response cached this way carries Nsn-Cache-Rule: default; one under your own rule doesn’t. Switch it off per domain on the Cache page, or fine-tune with Cache Rules — rules win.

Every response carries an Nsn-Cache-Status header, shown in analytics too:

StatusMeaning
HITAlready had a copy; served instantly, server not involved.
MISSNo copy yet — fetched from your server and saved.
BYPASSSkipped on purpose (a cookie, an Authorization header, or a cache rule).
DYNAMICNot cacheable, so served straight from your server.

A first visit is often a MISS, later ones usually HITs. An occasional MISS after is normal. See Proxy Headers for the list.

Still seeing an old version? Clear everything, or just that page: Purging & Browsing the Cache.