Я вижу другие ответы с того же сервера, сжатые с помощью gzip. У меня есть определенный URL-адрес, который не сжимается. Я могу только предположить, что проблема может заключаться в размере содержимого, но я не вижу в IIS 8 настройки, относящейся к ограничению размера.
Все статические и динамические, а также сжатие URL и http установлены и включены. Я не могу найти какие-либо журналы, содержащие полезную информацию о том, почему этот URL-адрес не сжимается.
Например, ответ, заархивированный из IIS. (См. заголовок ответа Content-Encoding: gzip
)
curl 'http://....../small_json/' -H 'Accept-Encoding: gzip, deflate' -H 'Accept: application/json, text/plain, */*' --compressed -D /tmp/headers.txt -o /dev/null; cat /tmp/headers.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 65382 100 65382 0 0 233k 0 --:--:-- --:--:-- --:--:-- 233k
HTTP/1.1 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Content-Encoding: gzip
Content-Language: en
Vary: Accept, Accept-Language, Cookie,Accept-Encoding
Server: Microsoft-IIS/8.5
X-Frame-Options: SAMEORIGIN
Date: Sun, 08 Apr 2018 01:50:54 GMT
Content-Length: 65382
В ответе JSON большего размера нет Content-Encoding: gzip
:
curl 'http://....../big_json/' -H 'Accept-Encoding: gzip, deflate' -H 'Accept: application/json, text/plain, */*' --compressed -D /tmp/headers.txt -o /dev/null; cat /tmp/headers.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4755k 0 4755k 0 0 1018k 0 --:--:-- 0:00:04 --:--:-- 1373k
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Content-Language: en
Vary: Accept, Accept-Language, Cookie
Server: Microsoft-IIS/8.5
X-Frame-Options: SAMEORIGIN
Date: Sun, 08 Apr 2018 01:51:11 GMT
Я установил очень либеральные настройки сжатия:
Информация FERB для сжатого ответа:
Информация FERB для несжатого ответа:
blogs.msdn.microsoft.com/friis/2017/09/05/… Прокрутите вниз до раздела «Определить, работает ли динамическое сжатие для вашего контента».
Спасибо @LexLi, я прикрепил скриншоты информации FERB.
Где тогда настройки? Вы поместили их в
web.config
?@LexLi Какие настройки?
параметр dynamicTypes
@LexLi Я добавил их с помощью пользовательского интерфейса IIS. Они находятся на уровне хоста приложения.