httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Issac Goldstand <mar...@beamartyr.net>
Subject Re: Questions on modules to provide cache functions for Apache
Date Tue, 06 Mar 2007 20:52:16 GMT
AFAIK, there's no reason that mod_cache shouldn't be able to cache your
output, as long as the request is a GET and not POST, and not otherwise
uncachable (eg, not authenticated, cache headers are present, expires in
future, etc).  It runs as an output filter, so the fact that the
response is generated dynamically shouldn't pose a problem. What
happened when you tried using the below config?  Does c:/cacheroot
exist?  Is it writable by the user Apache runs as?

  Issac

Erica Zhang wrote:
> David,
> 
> Thanks a lot for your reply. While, I just want to cache HTTP responses
> produced by PHP scripts. Of course, those responses perhaps include PHP
> scripts. On the other hand,  I know I could do it by use of PHP itself.
> I just want to provide a general one. This means no matter what kind of
> script or languages used for server development, for example, ASP, PHP,
> Java and etc, I could use only one module to cache those HTTP responses.
> I thought Apache could handle or filter HTTP responses or requests. So I
> want to add modules to handle caching dynamic HTTP responses problems.
> 
> However, based on your suggestion, it seems that I have to developed
> separate ones for Java, ASP, PHP. Right ? But is there some general way
> to cache responses ?
> 
> Thanks,
> 
> Erica
> 
> David Wortham wrote:
> 
>> Erica,
>>   IMO, your caching should take place on the PHP side of things, not
>> Apache
>> or any Apache modules (save for maybe mod_php).
>>
>>   Depending on how frequently the cache should refresh, I would either
>> have
>> (1) PHP write the newest response to a file and check the timestamp of
>> the
>> file to check if  the cachefile should be updated,
>> (2) Don't use PHP called from a webserver, but rather use PHP called
>> from a
>> cron job, or
>> (3) find out how to use PHP to cache itself (I'm pretty sure Apache won't
>> cache PHP, ASP, etc.)
>>
>> For help on any three of these things, I would recommend asking at a
>> PHP-specific forum/mailing list or on www.php.net (the comments on
>> that site
>> are sometimes extremely helpful).
>>
>> Regards,
>> David Wortham
>>
>>
>>
>>
>> On 3/5/07, Erica Zhang <ericazhj@cs.ubc.ca> wrote:
>>
>>>
>>> Hi,
>>>
>>> I want to develop a filter module to cache responses for XMLHttp
>>> requests for Apache. Before that, I have tried to configure using
>>> mod_cache. I found that it could not be used to cache responses for
>>> XMLHttp requests. However, I am not sure about this, because I am new to
>>> web applications. So before beginning to develop a new module to do this
>>> function, I want to make sure that. Is there some expert tell me about
>>> your idea on this topic or experiences ?
>>>
>>> I tried to give more details below:
>>>
>>> For mod_cache, I use httpd.conf to configure it:
>>>
>>> MaxKeepAliveRequests 10000
>>> <IfModule mpm_winnt.c>
>>>     ThreadsPerChild 1900
>>>     MaxRequestsPerChild 10000
>>> </IfModule>
>>>
>>> LoadModule cache_module modules/mod_cache.so
>>>
>>> <IfModule mod_cache.c>
>>>     CacheForceCompletion 100
>>>     CacheDefaultEXPire 3600
>>>     CacheMaxExpire 86400
>>>     CacheLastModifiedFactor 0.1
>>>     LoadModule disk_cache_module modules/mod_disk_cache.so
>>>
>>>     <IfModule mod_disk_cache.c>
>>>         CacheEnable disk /
>>>         CacheRoot c:/cacheroot
>>>         CacheSize 327680
>>>         CacheDirLength 4
>>>         CacheDirLevels 5
>>>         CacheGcInterval 4
>>>     </IfModule>
>>>
>>>     #LoadModule mem_cache_module modules/mod_mem_cache.so
>>>     <IfModule mod_mem_cache.c>
>>>         CacheEnable mem /
>>>         MCacheSize 8192
>>>         MCacheMaxObjectCount 10000
>>>         MCacheMinObjectSize 1
>>>         MCacheMaxObjectSize 51200
>>>     </IfModule>
>>> </IfModule>
>>>
>>> On client, I use ajax technology and XMLHttpRequest  and on server, I
>>> use php script.
>>> ...
>>> header("Cache-Control: public"); // HTTP/1.1
>>> header("Expires: " .gmdate ("D, d M Y H:i:s", time() + 60 * 10). "
>>> GMT");
>>> header( "Last-Modified: " .gmdate( 'D, d M Y H:i:s' ). " GMT" );
>>> echo $response;
>>> ....
>>> I think apache cache should catch my response produced by PHP. Until
>>> now, I do not think there is something wrong in my code or
>>> configuration. So I conclude that mod_cache could not catch the
>>> responses for XMLHttp requests.
>>>
>>> Regards,
>>>
>>> Erica
>>>
>>>
>>>
>>

Mime
View raw message