httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From (David Robinson)
Subject Re: Patch for proxy module
Date Mon, 19 Feb 1996 16:28:00 GMT
>I've uploaded to patches/for_Apache_1.1b0 a patch to mod_proxy.c, 
>106.proxy_fix.patch. This contains the following changes:
>1) Fixes the SIGSEGV I was getting. Turned out to be very simple. 
>   cache_update() had prototyped buff[37], but it was writing data into 
>   buff[45]. Oops.
>2) As per the HTTP spec, only use HTTP/1.0 when communicating to client
>   and server, no matter what they actually send (except for 0.9, of course)
>3) No longer forwards the Connection: header.
>4) Another HTTP violation, now only caches 200 and 301 responses. The way
>   it did it earlier basically was the same, but also cached unknown 2xx and
>   3xx repsonses. Which is bad. Very bad. Because, for example, byte ranges
>   will use (I think this is still current - Roy?) a Request-Range header
>   to request the byte range, and a 206 response code. The way the module
>   was, it wouldn't reconigze this, and would happily cache it and use it
>   for normal GET requests.

Thanks; well done for spotting those.

>Another thing I've noted, which I think should be changed, but I'm not 
>sure if it's correct...
>Currently, the proxy module, once it has cached a file, caches it until it
>expires. What I mean by that is that if you request a file, then the file
>changes, it won't check to see if it has. It is my belief that unless an
>Expires header is present, the proxy should *always* send a conditional
>GET request, just to check. CERN does this, as did my proxy module.

No, if there isn't an expires header then you are allowed to 'invent' one
(for internal use). At least, that's how I understand current use.


View raw message