Re: [PHP] Re: header() refresh vs location

2003-10-14 Thread Chris Shiflett
--- Kevin Stone [EMAIL PROTECTED] wrote:
 The Refresh directive is a valid header.  I've used it for many
 years and it seems to be supported by the majority of browsers.

My experience has been the same.

 However I've never read anything that would indicate that Refresh
 works any differently than Location.

Well, it does, though the difference may not be so obvious. The Location header
accompanies a response with a status code of 3xx, which tells the Web client
that the resource has moved. This matters when it comes to things like Google
indexing your site. Google will fetch the new resource and consider it the same
as the original resource as long as the status code was 3xx.

It is also more transparent; a 3xx response does not exist in the client's
history mechanism (well, it's not supposed to), so a user who clicks back won't
be sent forward immediately (making the back button appear broken or disabled).
I'm not sure if Refresh is interpreted as being transparent in the history as
well, but in my current browser (Galeon), it is definitely not.

Oh, and the original problem was likely due to a relative URL being used in the
Location header. This is a violation of the protocol and can cause problems
with certain clients.

Hope that helps.

Chris

=
My Blog
 http://shiflett.org/
HTTP Developer's Handbook
 http://httphandbook.org/
RAMP Training Courses
 http://www.nyphp.org/ramp

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: header() refresh vs location

2003-10-14 Thread Curt Zirzow
* Thus wrote Chris Shiflett ([EMAIL PROTECTED]):
 --- Kevin Stone [EMAIL PROTECTED] wrote:
  The Refresh directive is a valid header.  I've used it for many
  years and it seems to be supported by the majority of browsers.
 
 My experience has been the same.
 
  However I've never read anything that would indicate that Refresh
  works any differently than Location.
 
 Well, it does, though the difference may not be so obvious. The Location header
 accompanies a response with a status code of 3xx, which tells the Web client
 that the resource has moved. This matters when it comes to things like Google
 indexing your site. Google will fetch the new resource and consider it the same
 as the original resource as long as the status code was 3xx.
 
 It is also more transparent; a 3xx response does not exist in the client's
 history mechanism (well, it's not supposed to), so a user who clicks back won't
 be sent forward immediately (making the back button appear broken or disabled).
 I'm not sure if Refresh is interpreted as being transparent in the history as
 well, but in my current browser (Galeon), it is definitely not.

Correct. Also, a 3xx response should not render the content that is
included with the response, unless the client doesn't support 3xx
(rare) or the user wishes that the browser not to redirect
automatically.

The refresh header will render the html and start the timer for the
refresh once the rendering is done, which does effect the history
of the browser.


Curt
-- 
My PHP key is worn out

  PHP List stats since 1997: 
  http://zirzow.dyndns.org/html/mlists/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php