如何处理 HEAD 请求?

How to handle HEAD request?

我有这样的请求:

7327    xxxxxxx [26/Jul/2015:21:50:10 +0200]    -   200 www.xxx.xx"HEAD /dokonceniPlatby.php?merchantId=374&accountId=402&value=50.00&currency=CZK&methodId=1&description=N%C3%A1kup+zbo%C5%BE%C3%AD+v+na%C5%A1em+e-shopu&merchantData=2067&status=2&paymentId=91882&ipRating=&isOffline=0&needConfirm=1&isConfirm=1&signature=xxxxx HTTP/1.1"

我如何获取这些值,例如 merchantId 或 accountId?

你在哪里有这些数据?尝试:

echo $_GET['merchantId'];  // or
echo $_REQUEST['merchantId'];

否则你可以用parse_str得到它:

$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

HEAD 请求可以像 GET 请求一样处理。您可以以相同的方式访问所有参数 - 通过 $_GET$_REQUEST superglobals.

主要区别在于如果您想遵守 HTTP 规范,您的脚本 不应 return 任何内容.所以处理请求,return 任何 headers 如果它是 GET 请求,将被 returned,但 return 任意内容。