[Phpmyadmin-devel] HTTP compilance

Benjamin Gandon gandon at isia.cma.fr
Mon Aug 13 05:15:55 CEST 2001

I've just pointed out that we use the "Location:" HTTP header 
field in a manner that is not HTTP complilant. It seems that it 
work because browsers seem to respect Postel's advice ("be 
conservative in what you send and liberal in what you accept").

rfc 2816 says:

       Location       = "Location" ":" absoluteURI

   An example is:

       Location: http://www.w3.org/pub/WWW/People.html

And we use for example:
tbl_select.php3:181:    header('Location: sql.php3?' . $url_query);

And that is quite not an absolute URI... 
I didn't find any suitable header in rfc2616 that could replace 
the "Location:" one and accept relative URI. ("Content-Location:" 
is quite good but it does not specify a replacement for the original
requested URI).

It seems that in order to have phpMyAdmin generate absolute URI in 
"Location:" HTTP headers, we have to introduce a configuration 
variable that would hold the absolute path (server name + path!). 

I don't think solving this is urgent because it works fine like that 
(except lynx who warns the user that the Location URL is not absolute 
and then goes to the right place). 

We can postpone that for a later version or let it go and just document 
that we do that (My lazyness would recommend letting it go :)).

More information about the Developers mailing list