diff --git a/lib/handler/cache-handler.js b/lib/handler/cache-handler.js index d074cb72dea..00aec0446ca 100644 --- a/lib/handler/cache-handler.js +++ b/lib/handler/cache-handler.js @@ -393,9 +393,14 @@ function determineStaleAt (cacheType, now, age, resHeaders, responseDate, cacheC const maxAge = cacheControlDirectives['max-age'] if (maxAge !== undefined) { - return maxAge > 0 ? maxAge * 1000 : undefined + return maxAge >= 0 ? maxAge * 1000 : undefined } + const noCache = cacheControlDirectives['no-cache'] + if (noCache !== undefined) { + return 0 + } + if (typeof resHeaders.expires === 'string') { // https://www.rfc-editor.org/rfc/rfc9111.html#section-5.3 const expiresDate = parseHttpDate(resHeaders.expires)