I believe a couple of changes are needed in mod_cache to correctly
consider s-maxage in responses.  I'd like to get the list's opinion
about it.

First, currently if a GET or HEAD request with a query in the URI has a
response with Cache-control: s-maxage=NN, that response is not cached.
>From RFC 2616 13.9, 2nd paragraph, s-maxage specifies an explicit
expiration and so the response should be cached despite the query in the
URI.

Second, currently a successful response with no Last-Modified, Etag, or
Expires headers is not cached.  If it has Cache-control: max-age or
Cache-control: s-maxage, that specifies an expiration, and per RFC
2616 13.4 we would expect it to be cached.

I'm attaching a trunk patch that would implement these changes.

-- 
Dan Poirier <[email protected]>

svn status for directory ~/apache/httpd/httpd/trunk/modules/cache/
0 file(s) marked

      821762 821552 minfrin     .
      821762 106103 nd          .indent.pro
      821762 106103 nd          Makefile.in
      821762 521264 fuankg      NWGNUdsk_cach
      821762 711470 wrowe       NWGNUmakefile
      821762 521264 fuankg      NWGNUmod_cach
      821762 646182 fuankg      NWGNUsocachdbm
      821762 646177 fuankg      NWGNUsocachshmcb
      821762 664145 wrowe       cache_cache.c
      821762 664145 wrowe       cache_cache.h
      821762 664145 wrowe       cache_hash.c
      821762 664145 wrowe       cache_hash.h
      821762 420983 fielding    cache_pqueue.c
      821762 420983 fielding    cache_pqueue.h
      821762 808212 minfrin     cache_storage.c
      821762 821539 minfrin     cache_util.c
      821762 711576 rpluem      config.m4
  ?                 ?           mod_cache.c.orig
  M   821763 821763 poirier     mod_cache.c
      821762 664145 wrowe       mod_cache.dsp
      821762 821202 minfrin     mod_cache.h
      821762 659643 bnicholes   mod_cache.imp
      821763 821763 poirier     mod_disk_cache.c
      821762 495126 wrowe       mod_disk_cache.dsp
      821762 502365 minfrin     mod_disk_cache.h
      821762 743837 fielding    mod_file_cache.c
      821762 495126 wrowe       mod_file_cache.dsp
      821762 106103 nd          mod_file_cache.exp
      821762 757396 jorton      mod_socache_dbm.c
      821762 664240 wrowe       mod_socache_dbm.dsp
      821762 726059 jorton      mod_socache_dc.c
      821762 664240 wrowe       mod_socache_dc.dsp
      821762 757396 jorton      mod_socache_memcache.c
      821762 664240 wrowe       mod_socache_memcache.dsp
      821762 757396 jorton      mod_socache_shmcb.c
      821762 664240 wrowe       mod_socache_shmcb.dsp

Reply via email to