У меня есть приложение веб-форм ASP.NET (3.5 SP1), над которым я работаю, и пытаюсь включить gzip fpr HTML и CSS, которые идут по конвейеру. Я использую эта реализация (и пробовал несколько других, которые подключаются к Application_BeginRequest), и, похоже, он повреждает внешний файл CSS, который используют страницы, но периодически ... внезапно все стили исчезают при обновлении страницы, оставайтесь таким какое-то время, а потом вдруг снова начинаешь работать.
И IE7, и FF3 демонстрируют такое поведение. При просмотре CSS с помощью панели инструментов веб-разработчика он возвращает треп. Заголовок управления кешем проходит как «частный», но я не знаю достаточно, чтобы понять, способствует ли это фактор или нет.
Кроме того, это работает на сервере разработки ASP.NET. Может быть, с IIS все было бы хорошо, но я работаю на XP, и это будет IIS5.





Если вы будете развертывать на IIS 6 или IIS 7, просто используйте встроенное сжатие IIS. Мы используем его на производственных сайтах для сжатия HTML, CSS и JavaScript без ошибок. Он также кэширует сжатую версию на сервере, поэтому срабатывание сжатия выполняется только один раз.
Повреждаются только файлы CSS? Хорошо ли проходят файлы JS (или любые другие статические текстовые файлы)?
Также можно ли продублировать поведение, если перейти непосредственно к файлу CSS?
Я включил сжатие только в IIS сервера Windows 2003, используя этот подход:
Name
Http Compression
Required Files
%systemroot%\system32\inetsrv\gzip.dll %systemroot%\system32\inetsrv\MetaBase.xmlLocation = "/LM/W3SVC/Filters/Compression/gzip"png, css, js и любые другие расширения статических файлов в HcFileExtensionsaspx и любые другие исполняемые расширения в HcScriptFileExtensionsiisreset)Если у вас есть сервер Windows 2003/2008, вы можете попробовать этот подход.
IE7 / 8 загружал поврежденные zip-файлы, а Firefox / Chrome / Opera - нет. Похоже, это было связано с тем, что IIS6 сжимал zip-файл с помощью gzip, что расстраивало IE. Ваше решение устранило мою проблему, и IIS больше не пытается повторно сжимать сжатые файлы.
К сожалению, использование настроек по умолчанию может нарушить работу zip-файлов в IE 7/8. Как оказалось, по умолчанию IIS пытается сжать zip-файлы, что довольно глупо.