PHP build-in HTTP server and the HEAD method
| From: | Ivan Enderlin @ Hoa | Date: | Wed, 12 Sep 2012 08:54:53 +0000 |
| Subject: | PHP build-in HTTP server and the HEAD method | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-62952@lists.php.net to get a copy of this message | ||
Hello,
It is probably me but it seems like the build-in HTTP server does not well support the HEAD method. Here is my following test case. First, the foo.php file:
<?php
var_dump($_SERVER['REQUEST_METHOD']);
And then:
$ # Run the server.
$ php -S 127.0.0.1:8888 -t . foo.php > /dev/null 2>&1 &
$ # Test with POST.
$ curl -v -X POST 127.0.0.1:8888
* About to connect() to 127.0.0.1 port 8888 (#0)
* Trying 127.0.0.1...
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 8888 (#0)
POST / HTTP/1.1 User-Agent: curl/7.24.0 (...) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Host: 127.0.0.1:8888 Accept: */* < HTTP/1.1 200 OK< Host: 127.0.0.1:8888 < Connection: close < X-Powered-By: PHP/5.5.0-dev < Content-type: text/html < string(4) "POST" * Closing connection #0 $ # It works, cool. $ # Now, test with HEAD. $ curl -v -X HEAD 127.0.0.1:8888 * About to connect() to 127.0.0.1 port 8888 (#0) * Trying 127.0.0.1... * connected * Connected to 127.0.0.1 (127.0.0.1) port 8888 (#0)
HEAD / HTTP/1.1 User-Agent: curl/7.24.0 (...) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Host: 127.0.0.1:8888 Accept: */* < HTTP/1.1 200 OK< Host: 127.0.0.1:8888 < Connection: close < X-Powered-By: PHP/5.5.0-dev < Content-type: text/html < * Closing connection #0 I have to admit that I don't understand, even by looking at the source code. Thoughts? Thanks. -- Ivan Enderlin Developer of Hoa http://hoa.42/ or http://hoa-project.net/ PhD. student at DISC/Femto-ST (Vesontio) and INRIA (Cassis) http://disc.univ-fcomte.fr/ and http://www.inria.fr/ Member of HTML and WebApps Working Group of W3C http://w3.org/