Google PageSpeed Insights建议我在文件asyncload.php
上使用gzip压缩。
查看开发者工具,asyncload.php
服务的内容属于XHR
类型。
我正在使用Nginx,这是我nginx.conf
中gzip支持的当前配置。
gzip on;
gzip_comp_level 9;
gzip_http_version 1.1;
gzip_proxied any;
gzip_min_length 10;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/xhtml+xml;
# Disable for IE < 6 because there are some known problems
gzip_disable “MSIE [1-6].(?!.*SV1)”;
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;
我的问题是:
如何在通过PHP脚本提供的XHR类型上添加gzip压缩?
XHR是否完全支持所有浏览器的gzip压缩?
答案 0 :(得分:0)
我找到了自己的解决方案。
仔细查看所提供文件的try
{
$message_type = $_POST["message_type"];
}
catch (Exception $e)
{
echo "Error";
exit(0);
}
if (strtoupper($message_type) == "INCOMING")
{
try
{
$message = $_POST["message"];
$mobile_number = $_POST["mobile_number"];
$shortcode = $_POST["shortcode"];
$timestamp = $_POST["timestamp"];
$request_id = $_POST["request_id"];
echo "Accepted";
exit(0);
}
catch (Exception $e)
{
echo "Error";
exit(0);
}
}
else
{
echo "Error";
exit(0);
}
,响应标头显示为Headers
我将Content-Type:application/json
添加到application/json
指令列表中,它解决了问题。
现在提供的文件是gzip压缩的,没有PageSpeed Insights警告。