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/