Chrome Devtool не показывает Content-Encoding в заголовках ответов

Я включаю сжатие gzip для увеличения скорости в Google PageSpeed ​​Insights:

При сжатии mantaspersonalizadas.com/fonts/Cocktail-Shaker.svg экономится 144,1 КБ (уменьшение на 65%). При сжатии mantaspersonalizadas.com/fonts/Cocktail-Shaker.ttf экономится 62,6 КБ (уменьшение на 49%). При сжатии mantaspersonalizadas.com/fonts/Cocktail-Shaker.woff экономится 2,6 КБ (уменьшение на 5%).

Я использую сервер Apache, я добавляю этот код в .htacess:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/opentype

# For Olders Browsers Which Can't Handle Compression
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

Как проверить, включен ли дефлятор на моем локальном сервере?

Chrome DevTools не показывает Content-Enconding: введите здесь описание изображения


person Funny Frontend    schedule 13.02.2015    source источник


Ответы (3)


Давайте проверим это.

Запрос Chrome к example.com (содержит gzip):

GET / HTTP/1.1
Host: www.example.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
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
If-None-Match: "359670651"
If-Modified-Since: Fri, 09 Aug 2013 23:54:35 GMT

Ответ Chrome с сайта example.com (не содержит gzip):

HTTP/1.1 304 Not Modified
Accept-Ranges: bytes
Cache-Control: max-age=604800
Date: Thu, 08 Dec 2016 14:06:04 GMT
Etag: "359670651"
Expires: Thu, 15 Dec 2016 14:06:04 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (iad/182A)
Vary: Accept-Encoding
X-Cache: HIT

Запрос Curl (клон запроса Chrome, содержит gzip):

curl -I
    -H "GET / HTTP/1.1"
    -H "Host: www.example.com"
    -H "Connection: keep-alive"
    -H "Cache-Control: max-age=0"
    -H "Upgrade-Insecure-Requests: 1"
    -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"
    -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
    -H "Accept-Encoding: gzip, deflate, sdch"
    -H "Accept-Language: en-US,en;q=0.8"
    -H "If-None-Match: "359670651""
    -H "If-Modified-Since: Fri, 09 Aug 2013 23:54:35 GMT"
    example.com

Ответ Curl (содержит gzip):

HTTP/1.1 200 OK
Content-Encoding: gzip
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html
Date: Thu, 08 Dec 2016 14:18:34 GMT
Etag: "359670651"
Expires: Thu, 15 Dec 2016 14:18:34 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (iad/182A)
X-Cache: HIT
x-ec-custom-error: 1
Content-Length: 606

Заключение

В настоящее время Chrome не отображает кодировку содержимого. Фаерфокс тоже. Я не знаю почему.

Теперь, когда я знаю, что они не показывают мне все, я больше никогда не буду доверять информации из заголовка ответа.

Скручивайтесь до упора.

person Jay    schedule 08.12.2016
comment
Я наткнулся на это после того, как возился с моим производственным сервером в течение 2 часов! Я могу подтвердить, что по состоянию на октябрь 2017 года Chrome+Firefox даже не отображают ридер сжатия для главной страницы в DevTools, но отображают для любого другого ресурса (например, CSS, JS и даже страница, загруженная Ajax). См. здесь: s1.postimg.org/2rv29kk73j/z_Shot_1507239352.png Предлагаемый трюк с завитками у меня работает надежно. - person Dr. Gianluigi Zane Zanettini; 06.10.2017

Кажется, проблема в браузере Chrome, у меня была такая же проблема, хотя дефляция не работает на сервере, но затем я попробовал Firefox и использовал firebug, который правильно отображал Content-Encoding в заголовках.

Также размер загруженного файла в Chrome не отображал размер несжатого файла, в то время как Firefox показывал правильный размер сжатого файла.

person DeepBlue    schedule 02.12.2016

Как @Jay указал

В настоящее время Chrome не отображает кодировку содержимого. Фаерфокс тоже. Я не знаю почему.

По состоянию на декабрь 2018 года одинаковое поведение как в Chrome, так и в Firefox, и Firebug исчез.

Firefox Developer Edition помогает мне, показывая правильную кодировку контента в разделе заголовков ответа ([F12] -> вкладка «Сеть» -> выберите ресурс -> вкладка «Заголовки»).

Снимок экрана: кодировка контента отображается в инструментах разработчика Firefox

person NiBa    schedule 04.12.2018