ID: 17359
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Output Control
Operating System: unix
PHP Version: 4.1.2
New Comment:
#1 HTTP headers are defined as Case-Insensitive. period.
#2 CGI does not specify headers at all
#3 this is not a PHP issue, PHP passes the content-type
to apache, it is the apache web server that treats the
content-type header special and writes the Content-Type:
part of the header line in this case
this will happen to every Content-Type header set by
an apache module, it will not happen for CGIs
you can verify this by using the PHP command line
interface (CLI):
echo "<?php header('Content-type: text/plain'); ?>" | php
result:
X-Powered-By: PHP/4.2.0
Content-type: text/plain
Previous Comments:
------------------------------------------------------------------------
[2002-05-23 04:29:23] [EMAIL PROTECTED]
ok, start it again.
source code at http://localhost/talalka.php :
<?php
header("Content-type: text/plain");
echo "LOFASZ\n";
?>
command running:
/usr/bin/lynx -source -mime_header http://localhost/talalka.php
result:
HTTP/1.1 200 OK
Date: Wed, 22 May 2002 13:24:29 GMT
Server: Apache/1.3.22 (Unix) PHP/4.1.2
X-Powered-By: PHP/4.1.2
Connection: close
Content-Type: text/plain
LOFASZ
As you can see, php sends wrong header. The "Content-type" header is
not
sent as i wrote it into the header function, and this causes chaos.
Right?.
------------------------------------------------------------------------
[2002-05-22 14:28:27] [EMAIL PROTECTED]
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
Where does it say that these are case-sensitive?
------------------------------------------------------------------------
[2002-05-22 09:31:36] [EMAIL PROTECTED]
source code at http://localhost/talalka.php :
<?php
header("Content-type: text/plain");
echo "LOFASZ\n";
?>
command running:
/usr/bin/lynx -source -mime_header http://localhost/talalka.php
result:
HTTP/1.1 200 OK
Date: Wed, 22 May 2002 13:24:29 GMT
Server: Apache/1.3.22 (Unix) PHP/4.1.2
X-Powered-By: PHP/4.1.2
Connection: close
Content-Type: text/plain
LOFASZ
As you can see, php sends wrong header. The "Content-type" header is
not sent as i wrote it into the header function, and this causes chaos,
because as the cgi specification, this header is case sensitive and has
to be written as "Content-type".
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17359&edit=1