Rationale Behind Chttpcachefilter Implementation

Hello. I’ve got one question regarding CHttpCacheFilter implementation algorithm.

What is the point of calling the $this->getLastModifiedValue() before checking if the client provided the If-Modified-Since or If-None-Match headers. In my case (I use a call to the DB as the last modified expression) this behavior results in the exessive request to the DB even when I do not have a cached version of page on my client. As far as I see if the client did not request the last modified header - there is no need to provide it.

I am using yii-1.1.14.f0fee9. Is there some rationale behind this or is it really an issue?

Thank you!

this value is still nedeed to provide HTTP header returned with every cached page:

header('Last-Modified: '.gmdate('D, d M Y H:i:s', $lastModified).' GMT');

(at the end of method)