Причина, по которой это просто сжатие вашего файла ASPX, заключается в том, что написанный вами код только встроен в файл ASPX. ASPX-файл представляет собой отдельный запрос из любого связанного содержимого, содержащегося в нем. Так что если у вас есть страница ASPX, которая содержит:
<img src="www.example.com\exampleimg.jpg" alt="example" />
Это составит 2 запросов (DNS-запросы в сторону) от вашего браузера к ресурсам:
- для страницы ASPX и
- для изображение, содержащееся на странице aspx.
Каждый запрос имеет свой собственный пар отклика. Код, который вы опубликовали, связан только с потоком ответов ASPX, поэтому сжата только ваша страница ASPX.Строки 1 & 2 вашего опубликованного кода, по сути, захватывают обычный поток ответов на странице и вводят некоторый код «среднего человека», который в этом случае ест и сжимает нормальный выходной поток потоком GZip и отправляет его вместо провода.
Линии 3 & 4 настраивают заголовки ответа. Все HTTP-запросы и ответы содержат заголовки, которые отправляются до содержимого. Они настраивают запрос/ответ, чтобы сервер и клиент знали, что отправляется и как.
В этом случае строка 3 информирует браузер клиента о том, что поток ответа сжимается через gzip, и поэтому перед отображением его необходимо сжать с помощью клиентского браузера.
И строка 4 просто включает заголовок Accept-Encoding ответа. В противном случае это было бы отсутствием ответа.
Имеются подключаемые модули, которые вы можете написать/получить, чтобы вы могли сжимать многотип других типов MIME, таких как * .js и * .css, но вам лучше использовать встроенные функции сжатия IIS.
Вы не сказали, которые Версон в IIS вы используете, но если бы это было IIS 7.0, это потребовало бы, чтобы включить что-то вроде следующего в <system.webserver>
части вас web.config файла:
<httpCompression>
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" />
..
Richard
Привет @Ben, не могли бы вы рассказать мне, как сжать мои файлы с помощью IIS, какие все настройки мне нужно выполнить, хотя у меня нет доступа к конфигурациям IIS, Я попытаюсь это сделать. Скажите, пожалуйста, как сжимать файлы с помощью IIS? Благодаря! – Prashant
http://stackoverflow.com/a/6992948/8479 подробно описывает простое изменение в web.config, необходимое для IIS7 или выше. – Rory