Apache patch B18 (redirect)
First appears in Apache 0.3
- Date:
- March '95 ish
- Documentation:
- Technical discussion. No additional documentation supplied or required
- Purpose
- To fix problems with script generated redirects;
- Redirects under NCSA httpd 1.3 are extremely inefficient since each
results in
i. a call to die(REDIRECT) - even though passing just script output
to the client would often suffice.
ii. external redirects required the script producing the redirect to be
killed, but the kill had to be performed after a signal was sent to ask it to
stop. Scripts were given 3 seconds to stop, then they were ruthlessly killed. This
happened even when the script had long since terminated successfully.
-
When a script requesting a redirect produced some HTML body to go
with the HTTP headers, NCSA 1.3 ignored it. So one couldn't send
back customized redirect instructions for use by less sophisticated
clients.
- NCSA httpd 1.3 would, ignore a Status: 302 line
produced by a script, and would only look for a header starting
with Location: - hence 1.3 would send back its own status
message instead of the one asked for by the script.
a harmless problem, but annoying if you want to send a specific
message.
- New behavior
-
- Scripts producing a Status: line, will have the status message passed on
unmolested by apache.
- Scripts producing a HTML body as well as HTTP headers, will have the body
passed on to the client, unmolested by apache.
- Scripts will always be allowed to run to completion. There's no kill and
no 3 second wait.
- Consequences
- Redirects are faster and more configurable.
- See Also
- Custom error responses (via redirects)