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. /--------------