IIS не сжимает большой динамический ответ JSON

avatar
Matt
8 апреля 2018 в 02:00
883
1
0

Я вижу другие ответы с того же сервера, сжатые с помощью 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

Я установил очень либеральные настройки сжатия:

enter image description here enter image description here enter image description here

Информация FERB для сжатого ответа: enter image description here

Информация FERB для несжатого ответа:

enter image description here

Источник
Lex Li
8 апреля 2018 в 13:46
0

blogs.msdn.microsoft.com/friis/2017/09/05/… Прокрутите вниз до раздела «Определить, работает ли динамическое сжатие для вашего контента».

Matt
9 апреля 2018 в 00:21
0

Спасибо @LexLi, я прикрепил скриншоты информации FERB.

Lex Li
9 апреля 2018 в 18:00
0

Где тогда настройки? Вы поместили их в web.config?

Matt
9 апреля 2018 в 21:41
0

@LexLi Какие настройки?

Lex Li
9 апреля 2018 в 23:18
0

параметр dynamicTypes

Matt
10 апреля 2018 в 03:27
0

@LexLi Я добавил их с помощью пользовательского интерфейса IIS. Они находятся на уровне хоста приложения.

Ответы (1)

avatar
Ygalbel
28 мая 2019 в 17:34
0

Я не знаю, актуально ли это, Но вы должны установить dynamicCompressionLevel на высокое значение. По умолчанию 0.

enter image description here

Matt
29 мая 2019 в 18:58
0

Я установил его на 10 и все еще не повезло.

Ygalbel
30 мая 2019 в 09:36
0

Можете ли вы попробовать с меньшим json? Может быть, это очень большой JSON и больше, чем размер буфера.

Matt
4 июня 2019 в 02:49
0

Работает с небольшим json. Где я могу изменить размер буфера?