On Wed, Sep 12, 2012 at 10:54 AM, Ivan Enderlin @ Hoa
<ivan.ender...@hoa-project.net> wrote:
> 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']);

By definition, a HEAD request MUST NOT return a message-body.

This works as expected:

<?php
header("X-Request-Method: " . $_SERVER["REQUEST_METHOD"]);
?>

Here is how it works: main/SAPI.c has code that set
SG(request_info).headers_only = 1 for HEAD requests, and as a
consequence php_request_shutdown() does not flush the output buffer
(if any) to the client. You can force a body to be sent (but that's
likely not going to work with every SAPI) by not having an output
buffer or by calling ob_end_flush() yourself.

Damien

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to