簡體   English   中英

NGINX和PHP Gzip壓縮在瀏覽器中不起作用,但在cURL中起作用

[英]NGINX and PHP Gzip compression not working in browser but works in cURL

我的NGinx和PHP安裝程序中發生了一個特殊的問題。

我的測試網址: http : //104.194.26.13 :2002/ a.php

我正在將PHP與NGinx(FCGI)一起使用。 要壓縮我正在使用的數據:

<?php

ob_start('ob_gzhandler');

phpinfo();

?>

通過瀏覽器訪問時,它顯示:

Vary: Accept-Encoding

但是,沒有Content-Encoding,Firebug中顯示的下載數據的大小是未壓縮數據的大小。

使用curl從CLI訪問時:

curl -H "Accept-Encoding: gzip" "http://104.194.26.13:2002/a.php"

有一些gbiresh字符表明它確實進行了編碼。 如果使用上述命令保存輸出,則通過瀏覽器訪問時,大小為17.5 KB,而不是75 KB。

這是從我的a.php文件收到的完整標頭:

Connection: keep-alive
Content-Length: 75550
Content-Type: text/html
Date: Fri, 15 Jan 2016 05:37:43 GMT
Server: nginx
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.27

有什么可能是錯的?

您使用的是哪種瀏覽器,因為Chrome 47.0.2526.106 m顯示如下:

請求

現在,如評論中所述,為什么不嘗試直接從Nginx壓縮它? 通過在nginx配置中利用gzip壓縮:

# enable gzip compression
gzip on;
gzip_min_length  1100;
gzip_buffers  4 32k;
gzip_types    text/plain application/x-javascript text/xml text/css;
gzip_vary on;
# end gzip configuration

資源


這是我的請求標頭:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:104.194.26.13:2002
Referer:http://stackoverflow.com/questions/34805168/nginx-and-php-gzip-compression-not-working-in-browser-but-works-in-curl/34805312?noredirect=1
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM