https://bz.apache.org/bugzilla/show_bug.cgi?id=69580
--- Comment #5 from Jeff W <apa...@wheelhouse.org> --- In addition to the requested trace (attached previously), I can provide some additional context. This issue occurs when mod_cache is enabled. The max-age=0 header causes the cache to be bypassed for the request, but allows it to be freshened by the response. The problem only occurs if that happens. It does not occur if the object is not cached at the time of request. The issue is avoided if "Cache-control: no-cache" is used in place of max-age=0. In that case, mod_cache does not attempt to update the cached entity. If no Cache-Control: header is present, I am able to provoke the issue if the object is cached but stale (and is therefore updated by the request), but not when the object is fresh. To the best of my ability to determine, all mod_cache processing completes successfully. The mod_cache trace output for such a request is quite short. With trimmed boilerplate: cache_storage.c(659): AH00698: cache: Key for entity /styles/main.css?(null) is https://www.sr20-forum.com:443/styles/main.css? cache_util.c(774): AH00782: Cache lock obtained for stale cached URL, revalidating entry: /styles/main.css cache_storage.c(357): AH00695: Cached response for /styles/main.css isn't fresh. Adding conditional request headers. mod_cache.c(505): AH00757: Adding CACHE_SAVE filter for /styles/main.css mod_cache.c(528): AH00758: Replacing CACHE with CACHE_SAVE filter for /styles/main.css mod_cache.c(539): AH00759: Adding CACHE_REMOVE_URL filter for /styles/main.css mod_cache.c(1349): AH00769: cache: Caching url https://www.sr20-forum.com:443/styles/main.css? for request /styles/main.css mod_cache.c(1356): AH00770: cache: Removing CACHE_REMOVE_URL filter. mod_cache.c(1581): AH02971: cache: serving /styles/main.css (revalidated) When the problem occurs, the cached object is successfully freshened. Subsequent requests without a Cache-Control: header receive an Age: header reflecting the time since the request that produced the closed stream. Once the object is cached, this issue occurs anytime the cached object would freshened by the request. It does not matter if the cached object is fresh or stale at the time of the request, only that it is present and that the request causes it to be freshened. The issue does not occur if HTTP/1.1 is forced: $ curl --http1.1 -H 'Cache-Control: max-age=0' -H 'If-Modified-Since: "Sat, 19 Aug 2017 15:41:18 GMT"' --resolve www.sr20-forum.com:443:204.13.89.69 -i https://www.sr20-forum.com/styles/main.css HTTP/1.1 304 Not Modified Date: Thu, 13 Feb 2025 00:37:53 GMT Server: Apache ETag: "2150-5571d13a36989" Accept-Ranges: bytes Vary: Accept-Encoding Via: e15s $ TLDR: The issue appears to be some sort of interaction between mod_cache and mod_http2 when existing cached objects are freshened. Hope this helps! -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org For additional commands, e-mail: bugs-h...@httpd.apache.org