如何在Nginx中为XHR类型添加gzip支持?

时间:2017-02-20 02:46:39

标签: nginx gzip

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;

我的问题是:

  1. 如何在通过PHP脚本提供的XHR类型上添加gzip压缩?

  2. XHR是否完全支持所有浏览器的gzip压缩?

1 个答案:

答案 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警告。