Skip to content

Cache status

Filter observability data by cache status to understand how your production requests are processed within Netlify’s caching layers.

Netlify summarizes detailed cache outcomes for each request into a single cache status to make it easier to filter and understand your traffic.

StatusDescriptionDetails
HitThe response was served from cache.When you expand a specific request for more details, you’ll see a Hit badge with an additional Edge cache or Durable cache tag. Durable cache appears when the specific edge node didn’t have the data, so it went to the durable cache to retrieve it.
MissNeither the edge cache nor durable cache had the value.Both caching layers miss and the request goes to the origin. If content existed in cache but was stale, a stale secondary status appears when you expand a specific request for more details.
N/ANo cache behavior is recorded for the request.Applies to requests not suitable for caching, such as the following: system redirects (not those defined in netlify.toml, which are cached but redirects we set like redirecting http traffic to https), requests using HTTP methods such as POST (and other methods other than GET), errors (status classes Redirect/Client Error/Server Error), edge functions that return an explicit response (rather than acting as middleware), unless setting response caching(so for customers that use edge functions as API endpoints, this can be quite common).

Cache misses are normal and expected in many situations. Before being concerned about high miss rates, consider the following possibilities:

  • Request types: Check if misses are from uncacheable requests (errors, redirects, non-GET methods) or genuine content misses.
  • Traffic patterns: New or infrequently accessed content will naturally miss cache until first accessed.
  • Frequent deploys clear cache more often: Frequent deploys will naturally cause more cache misses because instead of selective page refresh/regeneration, the entire site is regenerated on every deploy.

Stale content is refreshed at request time unless a cache-control header defines the stale-while-revalidate directive. Learn more about our supported cache control headers.

These requests appear with the miss status and when you expand your request details, you’ll find a stale secondary status tag.