We are using Magnolia CE 3.6.1 and we have an issue with handling
if-modified-since headers. To illustrate :
$ wget --header='If-Modified-Since: Tue, 1 Jan 2008 19:58:25 GMT'
http://localhost:8080/webapp/jo/home.html
--2008-10-22 11:41:56-- http://localhost:8080/webapp/jo/home.html
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 304 Not Modified
2008-10-22 11:45:52 ERROR 304: Not Modified.
So basically magnolia is saying content has not been modified since Jan
1st this year, which is just plain wrong.
So digging through the source code, and attaching a debugger to my
magnolia instance, the problem is in info.magnolia.cms.cache.CacheFilter
line 162 (however on trunk this is now in
info.magnolia.module.cache.executor.AbstractExecutor in the
ifModifiedSince() method). I suggest the method is wrong, the error
being that it checks to see if the cache modification date is greater
than the header value, and returns false if it is. This signals that the
server content is not newer, when in fact it is.
Indeed, looking elsewhere the exact same logic is present in
info.magnolia.cms.cache.CacheFilter in the ifModifiedSince() method,
where the inverse logic is used for the same test.
Can you please confirm this is the case.
Thanks,
Jon.
----------------------------------------------------------------
for list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
----------------------------------------------------------------