On Sun, Feb 10, 2002 at 10:54:38AM +0100, Thomas Jarosch wrote: > To me it seems like a problem in the request body parser of Apache, > but I'm not an Apache guru, so I could be wrong...
I tried to reproduce your problem, but to no avail. Some questions (in oder to nail down the problem): a) does your Apache-1.3.23 run on a unix platform, or on some CRLF-platform (e.g., windoze)? On unix, I had no problem whatsoever to do a "netcat localhost 80 <test.in" Also, I tried varying the "Content-Length" between 9 and 11 (no change, everything worked) and also to append a second request to the request pipeline (no change, everything worked fine once I told the php script to supply a Content-Length response header): HTTP/1.1 200 OK Date: Mon, 11 Feb 2002 08:24:50 GMT Server: Apache/1.3.23 (Unix) PHP/4.1.1 DAV/1.0.3 X-Virtual-Host: deejai.mch.fsc.net X-Powered-By: PHP/4.1.1 Content-Length: 10 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html test=test HTTP/1.1 200 OK Date: Mon, 11 Feb 2002 08:24:50 GMT Server: Apache/1.3.23 (Unix) PHP/4.1.1 DAV/1.0.3 Content-Location: Welcome.shtml.en Vary: negotiate,accept-language .... b) what caused your original problem? Is it the Netscape-4.6 default handling of POST requests? c) you say that the reply is completely empty, not even a status line? No Content-Type? d) if actually *nothing* is returned, there *MUST* be a line in the error_log. What does it say? If none is there, try to increase the LogLevel. e) Is a proxy involved in the request? Which one? What happens if you bypass it? Attached you can find the php script used in the test, and the input file. Martin -- <[EMAIL PROTECTED]> | Fujitsu Siemens Fon: +49-89-636-46021, FAX: +49-89-636-47655 | 81730 Munich, Germany
POST /~martin/php/test.php HTTP/1.0 Referer: http://intradev.local/arnie?form=hauptseite Connection: Keep-Alive User-Agent: Mozilla/4.6 [en-gb] (WinNT; I) Host: deejai.mch.fsc.net Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en-GB,en,en-* Accept-Charset: iso-8859-1,*,utf-8 Content-type: application/x-www-form-urlencoded Content-length: 9 test=test GET / HTTP/1.0
<? $reply= "test=".$test."\n"; Header("Content-Length: ".strlen($reply)); print $reply;