static function parseHeader($data)
{
$header = array();
$header[0] = array();
$meta =& $header[0];
$parts = explode("\r\n\r\n", $data, 2);
// parts[0] = HTTP头;
// parts[1] = HTTP主体,GET请求没有body
$headerLines = explode("\r\n", $parts[0]);
// HTTP协议头,方法,路径,协议[RFC-2616 5.1]
list($meta['method'], $meta['uri'], $meta['protocol']) = explode(' ', $headerLines[0], 3);
//错误的HTTP请求
if (empty($meta['method']) or empty($meta['uri']) or empty($meta['protocol'])) {
return false;
}
unset($headerLines[0]);
//解析Header
$header = array_merge($header, self::parseHeaderLine($headerLines));
return $header;
}