DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=43838>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=43838 Summary: If-Modified-Since request and htcacheclean conflict Product: Apache httpd-2 Version: 2.2.3 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: mod_cache AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] Setup: Apache2.2.3 setup as a reverse proxy, in a test environment ready to replace a production box. Problem: Excessive 'If-Modified-Since' traffic to upstream server. Cause: Every night htcacheclean is run. A returning Client requests an object/file using 'If-Modifed-Since' in the header, as the client has locally cached copy. Symptom: Reverse proxy makes 'If-Modifed-Since' request to upstream server as object is not available in cache. Upstream server will reply with '304 Not-Modifed'. Note, Proxy still doesn't have a copy. The expected action would be for the proxy to get the object, and report '304 Not-Modifed' to the client, so that the next request is served out of cache, and no further traffic occurs between proxy and upstream server. Observation: If the clients cache is cleared, the next request comes from the upstream server, then subsequent requests come from the proxy's cache. Hack: In mod-proxy-http.c we have removed the test 'if r->main' check (snippet below), which appears to remove the "If-*" headers to the upstream server, but this may have other side effects, but gives us the desired operation. /* for sub-requests, ignore freshness/expiry headers */ // CJW - Ignore Freshness on requests //if (r->main) { if ( !strcasecmp(headers_in[counter].key, "If-Match") || !strcasecmp(headers_in[counter].key, "If-Modified-Since") || !strcasecmp(headers_in[counter].key, "If-Range") || !strcasecmp(headers_in[counter].key, "If-Unmodified-Since") || !strcasecmp(headers_in[counter].key, "If-None-Match")) { continue; } //} How should this senario really be fixed? -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
