By the way, this submission of the HTTP header also seems to result in an about 20 second additional delay on the client side -- i.e. if I request an object which returns the Refresh header, I wait for about 20 seconds, then see the headers flash by as page contents, and then the refresh occurs. I do not get this extra delay when I simply submit the refresh as a <meta> header, so this seems to be an artifact of the HTTP transaction in some way.

Victor Danilchenko wrote:
    I seem to be missing something very obvious... I have:

$r->header_out("Refresh"=>"0; URL=$uri\n");
$r->send_http_header;
print "Test redirect => $uri\n";

But when the redirect page gets submitted, the HTTP headers show up as page contents:

Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

1e
Test redirect => /?loopback=1

0


Obviously only the stuff after 'Test redirect' should show up. I am using Mason, and writing an error handler -- it tries to tell the browser resubmit a GET request in the event of a Mason failure. It looks like Mason inserts a blank line to terminate the HTTP header block. is there any way to counter that, so that the header directives end up in the header?

Incidentally, the actual Refresh header does work, so maybe my hypothesis about Mason is off the wall.

    Any ideas?

P.S. On a wild shot, does anyone know if the XMLHttpRequest JavaScript directive generally honors the HTTP Refresh header in Firefox and IE?

Reply via email to