У мене є сервер Jetty, на якому не ввімкнено стиснення (це я протестував тут ). Як я можу включити стиснення?
У мене є сервер Jetty, на якому не ввімкнено стиснення (це я протестував тут ). Як я можу включити стиснення?
Відповіді:
Ви повинні включити, GzipFilter
щоб Jetty повертав стислий вміст. Подивіться тут, як це зробити: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
Ви також можете використовувати gzip
параметр init, щоб змусити Jetty шукати стислий вміст. Це означає, що якщо файл file.txt
запитується, Jetty буде стежити за файлом з ім'ям file.txt.gz
і повертати його.
У Jetty 8 (?) Та пізніших версіях вам доведеться використовувати GzipHandler
як, GzipFilter
здається, застаріле / відсутнє:
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.GzipHandler"/>
<!-- package name might have changed in Jetty 9; possibly org.eclipse.jetty.server.handler.gzip.GzipHandler
as per /programming/35725538/jetty-gziphandler-configuration -->
</Set>
</Configure>
Параметр gzip
init все ще працює, якщо ви хочете обслуговувати лише статичний вміст (що насправді було б ефективніше, ніж пройти через обробник GZip). Однак доцільно зберігати нестиснені копії і на сервері, оскільки Jetty може знадобитися подавати нестиснений вміст для несумісних браузерів (переважно IE) .
WEB-INF/jetty-env.xml
в веб - додаток (є й інші варіанти , а також, jetty-web.xml
, web-jetty.xml
, classes/org/eclipse/jetty/webapp/webdefault.xml
, ...)