获取HTTP请求头信息
Apache
如果web服务器用的是apache,可以直接用php的库函数getallheaders()
Nginx
如果web服务器用的是nginx,则无法直接使用getallheaders()
if (!function_exists('getallheaders')) {
function getallheaders() {
$headers = [];
foreach ($_SERVER as $name => $value) {
if (substr($name, 0, 5) == 'HTTP_') {
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
使用上述代码可以获取nginx下的http请求头信息
传输gzip数据
如果请求头中的Accept-Encoding
为gzip
,则可以向客户端发送gzip
数据
- 判断Accept-Encoding的值
- php发送
gzip
数据可以使用库函数gzencode()