Мне нужно предотвратить сжатие 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
После удаления все заработало правильно.