You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Alf Eaton <al...@hubmed.org> on 2010/02/26 15:39:04 UTC

[users@httpd] Force caching of responses with no explicit expiry date, where the request contains a query string

This seems to be something that's been around for a while, but I
haven't been able to find anything conclusive saying that it's
supposed to work this way:

I'm using Apache 2.2 as a forward proxy, aiming to cache all responses.

I've set CacheDefaultExpire to 86400 (1 day), so any requests that
don't have explicit expiry dates should still be cached.

In the logs, I'm still seeing the message.
"not cached. Reason: Query string present but no explicit expiration time"

It seems that if there's a query string in the request, the default
expiry date isn't applied, so the response isn't cached.

Is there a way to force responses that have no explicit expiry date to
be cached, even where the request contains a query string?

alf

Related:
http://markmail.org/thread/sxxi27pqbce33hlu ("mod_cache:
CacheDefaultExpire is ignored?")
http://markmail.org/thread/yy4feryppagv4lem ("mod_disk_cache problem")
http://markmail.org/thread/6jdxhgn63m7sew3z ("mod_cache and query strings")

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Force caching of responses with no explicit expiry date, where the request contains a query string

Posted by Alf Eaton <ea...@googlemail.com>.
On 28 February 2010 12:35, Eric Covener <co...@gmail.com> wrote:
> On Sun, Feb 28, 2010 at 7:33 AM, Alf Eaton <ea...@googlemail.com> wrote:
>> On 27 February 2010 04:12, Jonathan Zuckerman <j....@gmail.com> wrote:
>>> On Fri, Feb 26, 2010 at 6:39 AM, Alf Eaton <al...@hubmed.org> wrote:
>>>>
>>>> This seems to be something that's been around for a while, but I
>>>> haven't been able to find anything conclusive saying that it's
>>>> supposed to work this way:
>>>>
>>>> I'm using Apache 2.2 as a forward proxy, aiming to cache all responses.
>>>>
>>>> I've set CacheDefaultExpire to 86400 (1 day), so any requests that
>>>> don't have explicit expiry dates should still be cached.
>>>>
>>>> In the logs, I'm still seeing the message.
>>>> "not cached. Reason: Query string present but no explicit expiration time"
>>>>
>>>> It seems that if there's a query string in the request, the default
>>>> expiry date isn't applied, so the response isn't cached.
>>>>
>>>> Is there a way to force responses that have no explicit expiry date to
>>>> be cached, even where the request contains a query string?
>>>>
>>>> alf
>>>>
>>>> Related:
>>>> http://markmail.org/thread/sxxi27pqbce33hlu ("mod_cache:
>>>> CacheDefaultExpire is ignored?")
>>>> http://markmail.org/thread/yy4feryppagv4lem ("mod_disk_cache problem")
>>>> http://markmail.org/thread/6jdxhgn63m7sew3z ("mod_cache and query
>>>> strings")
>>>>
>>>
>>> this might be helpful:
>>> http://httpd.apache.org/docs/2.2/mod/mod_cache.html#cacheignorequerystring
>>
>> Thanks, I did try CacheIgnoreQueryString, but it treats all responses
>> the same regardless of their query string (i.e. requests with
>> different query strings all get the same cached response). I need to
>> be able to cache responses with different query strings distinctly -
>> as if they had query strings and an expiry header.
>
> Can you set Cache-Control s-maxage?

I have no control over the headers set in the responses,
unfortunately, as they're all coming from remote servers (it's a
forward proxy). This is why I was hoping CacheDefaultExpire would
apply in cases where no cache control dates were set by the server,
but it seems not to apply when there's a query string in the proxied
URL.

alf

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Force caching of responses with no explicit expiry date, where the request contains a query string

Posted by Eric Covener <co...@gmail.com>.
On Sun, Feb 28, 2010 at 7:33 AM, Alf Eaton <ea...@googlemail.com> wrote:
> On 27 February 2010 04:12, Jonathan Zuckerman <j....@gmail.com> wrote:
>> On Fri, Feb 26, 2010 at 6:39 AM, Alf Eaton <al...@hubmed.org> wrote:
>>>
>>> This seems to be something that's been around for a while, but I
>>> haven't been able to find anything conclusive saying that it's
>>> supposed to work this way:
>>>
>>> I'm using Apache 2.2 as a forward proxy, aiming to cache all responses.
>>>
>>> I've set CacheDefaultExpire to 86400 (1 day), so any requests that
>>> don't have explicit expiry dates should still be cached.
>>>
>>> In the logs, I'm still seeing the message.
>>> "not cached. Reason: Query string present but no explicit expiration time"
>>>
>>> It seems that if there's a query string in the request, the default
>>> expiry date isn't applied, so the response isn't cached.
>>>
>>> Is there a way to force responses that have no explicit expiry date to
>>> be cached, even where the request contains a query string?
>>>
>>> alf
>>>
>>> Related:
>>> http://markmail.org/thread/sxxi27pqbce33hlu ("mod_cache:
>>> CacheDefaultExpire is ignored?")
>>> http://markmail.org/thread/yy4feryppagv4lem ("mod_disk_cache problem")
>>> http://markmail.org/thread/6jdxhgn63m7sew3z ("mod_cache and query
>>> strings")
>>>
>>
>> this might be helpful:
>> http://httpd.apache.org/docs/2.2/mod/mod_cache.html#cacheignorequerystring
>
> Thanks, I did try CacheIgnoreQueryString, but it treats all responses
> the same regardless of their query string (i.e. requests with
> different query strings all get the same cached response). I need to
> be able to cache responses with different query strings distinctly -
> as if they had query strings and an expiry header.

Can you set Cache-Control s-maxage?

-- 
Eric Covener
covener@gmail.com

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Force caching of responses with no explicit expiry date, where the request contains a query string

Posted by Alf Eaton <ea...@googlemail.com>.
On 27 February 2010 04:12, Jonathan Zuckerman <j....@gmail.com> wrote:
> On Fri, Feb 26, 2010 at 6:39 AM, Alf Eaton <al...@hubmed.org> wrote:
>>
>> This seems to be something that's been around for a while, but I
>> haven't been able to find anything conclusive saying that it's
>> supposed to work this way:
>>
>> I'm using Apache 2.2 as a forward proxy, aiming to cache all responses.
>>
>> I've set CacheDefaultExpire to 86400 (1 day), so any requests that
>> don't have explicit expiry dates should still be cached.
>>
>> In the logs, I'm still seeing the message.
>> "not cached. Reason: Query string present but no explicit expiration time"
>>
>> It seems that if there's a query string in the request, the default
>> expiry date isn't applied, so the response isn't cached.
>>
>> Is there a way to force responses that have no explicit expiry date to
>> be cached, even where the request contains a query string?
>>
>> alf
>>
>> Related:
>> http://markmail.org/thread/sxxi27pqbce33hlu ("mod_cache:
>> CacheDefaultExpire is ignored?")
>> http://markmail.org/thread/yy4feryppagv4lem ("mod_disk_cache problem")
>> http://markmail.org/thread/6jdxhgn63m7sew3z ("mod_cache and query
>> strings")
>>
>
> this might be helpful:
> http://httpd.apache.org/docs/2.2/mod/mod_cache.html#cacheignorequerystring

Thanks, I did try CacheIgnoreQueryString, but it treats all responses
the same regardless of their query string (i.e. requests with
different query strings all get the same cached response). I need to
be able to cache responses with different query strings distinctly -
as if they had query strings and an expiry header.

alf

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Force caching of responses with no explicit expiry date, where the request contains a query string

Posted by Jonathan Zuckerman <j....@gmail.com>.
On Fri, Feb 26, 2010 at 6:39 AM, Alf Eaton <al...@hubmed.org> wrote:

> This seems to be something that's been around for a while, but I
> haven't been able to find anything conclusive saying that it's
> supposed to work this way:
>
> I'm using Apache 2.2 as a forward proxy, aiming to cache all responses.
>
> I've set CacheDefaultExpire to 86400 (1 day), so any requests that
> don't have explicit expiry dates should still be cached.
>
> In the logs, I'm still seeing the message.
> "not cached. Reason: Query string present but no explicit expiration time"
>
> It seems that if there's a query string in the request, the default
> expiry date isn't applied, so the response isn't cached.
>
> Is there a way to force responses that have no explicit expiry date to
> be cached, even where the request contains a query string?
>
> alf
>
> Related:
> http://markmail.org/thread/sxxi27pqbce33hlu ("mod_cache:
> CacheDefaultExpire is ignored?")
> http://markmail.org/thread/yy4feryppagv4lem ("mod_disk_cache problem")
> http://markmail.org/thread/6jdxhgn63m7sew3z ("mod_cache and query
> strings")
>
>
this might be helpful:
http://httpd.apache.org/docs/2.2/mod/mod_cache.html#cacheignorequerystring