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:
oh, man, would you please concentrate to the problem??
i'm running a command which puts out a header.
i'm giving this command a parameter, the text of the header.
this text is: "Content-type: text/plain"
this is case sensitive, because i want this header, this text. not
anything else.
and i get something completely different: Content-Type: text/plain
THIS is the problem aside from the specifications.
ok, the headers are case insensitive, but i want the header as i
commanded the code to output it to me, not otherwise.
Previous Comments:
------------------------------------------------------------------------
[2002-05-23 08:39:35] [EMAIL PROTECTED]
good luck ;)
again: apache does nothing wrong here,
as HTTP headers are defined as case insensitive
whatever "causes chaos" for you is something that
is *not* HTTP complient, so you should try to
get that fixed instead of blaming software that
is perfectly compliant, although maybe in a way
you didn't expect ...
please read the HTTP specs
RRF2616, 4.2 Message Headers: "... Field names are case-insensitive.
..."
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2)
RFC2616, 14.17 Content-Type
Content-Type = "Content-Type" ":" media-type
------------------------------------------------------------------------
[2002-05-23 06:24:15] [EMAIL PROTECTED]
ok, sorry, forwarding this to the apache group.
------------------------------------------------------------------------
[2002-05-23 05:55:07] [EMAIL PROTECTED]
#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
------------------------------------------------------------------------
[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?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/17359
--
Edit this bug report at http://bugs.php.net/?id=17359&edit=1