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:

ok, thank you (all).
i'm forwarding this stuff to our developer, he said to me, that the
headers are case sensitive, and coded the application in wrong way.
thanks again.


Previous Comments:
------------------------------------------------------------------------

[2002-05-23 09:24:25] [EMAIL PROTECTED]

have a look at the sapi_apache_header_handler() function

http://lxr.php.net/source/php4/sapi/apache/mod_php4.c#153

and especially line 170

http://lxr.php.net/source/php4/sapi/apache/mod_php4.c#170

thats how the content type is passed to apache: not as a complete
header string but as the mime-type only in the content_type component
of the requert_rec structure r

so there is no way for apache to know if you wrote
Content-Type, Content-type or even cOnTeNt-TYPE

and as it doesn't matter there is no chance that they
(the apache people) will change their APIs for you to
get case sensitive behaviour in a place that is NOT
to be meant case sensitive

on the other hand they could even decide to convert
*all* header field names to lowercase if they wanted

so i *am* concentrating on the real problem, trying
to convince you that relying on case sensitivity or
case preservation here is just plain wrong in the 
first place.

------------------------------------------------------------------------

[2002-05-23 09:10:15] [EMAIL PROTECTED]

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.

------------------------------------------------------------------------

[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


------------------------------------------------------------------------

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

Reply via email to