Details
-
Bug
-
Resolution: Won't Do
-
Neutral
-
None
-
None
-
None
-
None
-
Magnolia Community 4.0.1 on Tomcat 6.0.16
Description
The current AbstractExecutor.ifModifiedSince() method is always returning true if the request for a cached page includes the 'If-None-Match' header.
The 'If-None-Match' header is/should be set by the browser as a request header if the prior response for a page/resource included the Etag header, which all 'docroot' cached responses from Magnolia (on Tomcat) do.
Rather than returning 'true' to the IfModifiedSince() method, if the 'If-None-Match' header is present in the request, the cache should compare its value with that of the 'Etag' header that is stored with the CachedPage headers. If the ETag header is not present, the cache should fall back on last modified date.
N.B. the Etag header being added to 'docroot' resources e.g. css/js/images etc. It is not added for Magnolia repository managed content.