You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Alexei Kosut <ak...@nueva.pvt.k12.ca.us> on 1996/02/19 03:15:58 UTC

Patch for proxy module

Hi...

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.

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.

Thoughts?

--/ Alexei Kosut <ak...@nueva.pvt.k12.ca.us> /--------/ Lefler on IRC
----------------------------/ <http://www.nueva.pvt.k12.ca.us/~akosut/>
The viewpoints expressed above are entirely false, and in no way
represent Alexei Kosut nor any other person or entity. /--------------