|
John Aherne
johna at johnaherne.co.uk
Fri Nov 5 02:18:05 EST 2004
John Aherne wrote:
> Byron Ellacott wrote:
>
>> req.err_headers_out.add('Set-Cookie', check)
>
> It looks like redirect is not a good option if you want to use
> cookies. I'll have to take a look at doing it some other way.
External redirect, particularly a 307 redirect for HTTP/1.1 clients, is
generally the best way to handle changing a location in response to a
request. Using a 307 means the client's back button works right, reload
works right, and the URL location bar works right.
If you're doing a redirect, and you want to keep your cookies, you can
always use the line I showed above to save them into
req.err_headers_out, which should solve the problem.
--
Byron
Thanks for the extra information.
I tried your suggestion and it does the trick.
I haven't worked out how to do a 307 yet, but hopefully I'll find this
out over the next few days.
I may be naive or missing the point but:--
I have a script in PHP that I run against the same process. When I do a
redirect in PHP it has no problems doing the redirect and saving the
cookie. I assume it must by default put the cookie into the error
handler to apache. I assume it must think this ought to be the default
behaviour required.
Naturally, since your post I have now found endless discussion on this
very subject in the mail archives. God knows how I missed these when
trawling through them before.
John Aherne
|