Страница может выбрать из сжатия IIS 7?

Мои страницы автоматически сжимаются IIS7 с GZIP.

Это является большим..., но для одной конкретной страницы я должен передать его потоком пользователю, с помощью Response.Flush() при необходимости. Но когда вывод сжимается, сервер IIS, кажется, собирает весь мой вывод, пока страница не сделана прежде, чем сжать и отправить его клиенту. Это аннулирует мою попытку Промыть содержание пользователю.

Существует ли способ, которым у меня может быть эта страница, выбирают из сжатия?

Один возможный вариант

Я решил что, если я вручную установил тип контента на тот, который не соответствует конфигурации IIS в c:\windows\system32\inetsrv\config\applicationhost.config, затем IIS не сожмет его. Например. Response.ContentType = "x-text/html". Это работает хорошо с IE8, поскольку он отступает для отображения HTML. Но Firefox спросит пользователя, что сделать с неизвестным типом файла.

Это могло работать, если бы был другой Тип Пантомимы, я мог бы использовать это, то браузеры приняли бы как HTML, который не подобран в applicationhost.config. Для ссылки это типы пантомимы, которые будут сжаты:

   <add mimeType="text/*" enabled="true" />
   <add mimeType="message/*" enabled="true" />
   <add mimeType="application/x-javascript" enabled="true" />
   <add mimeType="application/atom+xml" enabled="true" />
   <add mimeType="application/xaml+xml" enabled="true" />

Опции других?

Там другие опции состоят в том, чтобы выбрать из сжатия?

13
задан Vadzim 31 October 2014 в 15:04
поделиться

4 ответа

Может быть невозможно отключить сжатие для определенной страницы, но можно для каталога.

Здесь описывается, как отключить статическое сжатие, но оно может работать для динамического сжатия: (Из http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/502ef631-3695-4616- b268-cbe7cf1351ce.mspx? mfr = true )

Чтобы отключить статическое сжатие только для одного каталога, сначала включите глобальное статическое сжатие (если оно отключено), а затем отключите статическое сжатие в этом каталоге. Например, чтобы включить статическое сжатие для каталога по адресу http: //www.contoso.com / Home / StyleSheets , выполните следующие действия:

  1. Включите глобальное статическое сжатие, выполнив следующую команду в командной строке:

adsutil set w3svc / Filters / Compression / parameters / HcDoStaticCompression true

  1. Отключить статическое сжатие в этом каталоге, выполнив следующую команду в командной строке:

adsutil set w3svc / 1 / root / Home / StyleSheets / DoStaticCompression false

3
ответ дан 2 December 2019 в 02:05
поделиться

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

Фактический объем данных для отправки зависит от конфигурации модуля сжатия.

0
ответ дан 2 December 2019 в 02:05
поделиться

Не уверен, что мне это нравится, но, возможно, стоит упомянуть: Отключить сжатие GZIP для клиентов IE6

1
ответ дан 2 December 2019 в 02:05
поделиться

Вы можете использовать пользовательский модуль сжатия, например, такой:

HTTP сжатие WebResource.axd и страниц в ASP.NET

Используя его, можно легко настроить, какие файлы включать/исключать.

1
ответ дан 2 December 2019 в 02:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: