Назад | Перейти на главную страницу

Приложение Apache Inflate / с mod_filter

Мне нужно предотвратить сжатие pdf-объектов. На самом деле, это должно происходить только в том случае, если запрос поступает из браузера Mozilla (но поскольку я не могу получить что-то вроде бы простого, вроде no-gzip для application / pdf, я считаю, что разумнее начать с этого). Изучив документацию apache по mod_filter, я получил следующее:

<Location />
  FilterDeclare gzipDeflate CONTENT_SET
  FilterDeclare gzipInflate CONTENT_SET
  FilterProvider gzipDeflate deflate req=User-Agent $Mozilla/
  FilterProvider gzipInflate inflate resp=Content-Type $application/
  FilterChain +gzipDeflate +gzipInflate
</Location>

По результатам моего тестирования фильтр gzipDeflate выполняет свою работу, и все страницы без Content-Type, начиная с application, архивируются с помощью gzip. Но похоже, что gzipInflate вообще не работает. Я проверил ответ в Firebug и убедился, что отправляемый Content-Type - это application / pdf. Я продолжу и задам потенциально глупый вопрос:

Заголовок Content-Type ответа полностью читается как «application / pdf; charset = Windows-1252». Имеет ли это какое-то значение или $ application / предположительно достаточно, чтобы это уловить?

Любая помощь приветствуется.

Еще один момент: URL-адрес, который возвращает объект pdf, не имеет расширения .pdf. Сам PDF-файл хранится в базе данных Oracle в виде большого двоичного объекта и при необходимости добавляется к странице (все URL-адреса в системе используют одну и ту же базовую линию). Это было частью первоначального запроса полезного члена stackoverflow, который указал мне на mod_filter и предложил опубликовать вопрос здесь.

Оказывается, все было нормально. Самая первая строка в теге местоположения была:

SetOutputFilter DEFLATE

После удаления все заработало правильно.