Сжатие HTTP - Как отправить предварительно сжатые файлы, которые существуют в файле EAR? - PullRequest
0 голосов
/ 30 июня 2009

Можно ли отправлять предварительно сжатые файлы, содержащиеся в EAR-файле? В частности, файлы jsp и js в файле WAR. Я использую Apache HTTP в качестве веб-сервера и, хотя просто включить модуль deflate и настроить его на использование предварительно сжатой версии файлов, я хотел бы применить это к файлам, которые содержатся в файле EAR который развернут в JBoss. Причина в том, что контент довольно статичен, и сжатие его на лету каждый раз довольно дорого с точки зрения времени процессора.

Честно говоря, я не совсем знаком с тем, как JBoss развертывает эти файлы EAR и «обслуживает» их. Суть того, что я хочу сделать, - это предварительно сжать файлы, содержащиеся в войне, чтобы при запросе они отправлялись обратно клиенту с помощью gzip для Content-Encoding.

Ответы [ 2 ]

0 голосов
/ 28 августа 2009

Я не часто бываю на этом сайте и, кажется, оставил эту тему висящей. Извини за это. Мне удалось получить сжатие моих файлов JavaScript и CSS. Я предварительно сжал их в процессе сборки муравья с помощью gzip. Затем мне пришлось подделать имя, чтобы избавиться от расширения gzip. Итак, у меня был foo.js и я сжал его в foo.js.gzip. Я переименовал этот foo.js.gzip в foo.js, и этот файл упакован в файл WAR. Так что это обрабатывает часть предварительного сжатия. Чтобы правильно обработать этот файл, мы просто должны сообщить браузеру, что этот файл сжат, через заголовок кодирования содержимого в ответе http. Это было сделано с помощью выходного фильтра, который применяется к файлам, которые соответствуют расширению * .js (некоторые Java / JBoss, WEB-INF / web.xml, если это помогает. Я не слишком знаком с этим, извините, ребята).

0 голосов
/ 01 июля 2009

Теоретически вы можете сжать их перед упаковкой в ​​EAR, а затем обработать их с помощью специального контроллера, который добавляет заголовок http к ответу, который сообщает клиенту, что они сжаты, но это выглядит как усилия, чтобы перейти к.

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

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

...