Mam serwer Jetty, który nie ma włączonej kompresji ( przetestowałem to tutaj ). Jak mogę włączyć kompresję?
Mam serwer Jetty, który nie ma włączonej kompresji ( przetestowałem to tutaj ). Jak mogę włączyć kompresję?
Odpowiedzi:
Musisz włączyć, GzipFilteraby Jetty zwrócił skompresowaną zawartość. Zobacz, jak to zrobić: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
Możesz także użyć gzipparametru init, aby Jetty szukało skompresowanej treści. Oznacza to, że jeśli plik file.txtzostanie zażądany, Jetty będzie szukał pliku o nazwie file.txt.gzi zwróci go.
W Jetty 8 (?) I nowszych będziesz musiał użyć a, GzipHandlerktóry GzipFilterwydaje się być przestarzały / brakuje:
<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>
gzipParametrów startowych nadal działa, w przypadku, gdy chcesz tylko służyć zawartości statycznej (która w rzeczywistości byłby bardziej efektywny niż przeżywa obsługi gzip). Wskazane jest jednak zachowanie nieskompresowanych kopii również na serwerze, ponieważ Jetty może wymagać podania nieskompresowanej zawartości dla niekompatybilnych przeglądarek (głównie IE) .
WEB-INF/jetty-env.xmltego webapp (istnieją inne opcje, jak również, jetty-web.xml, web-jetty.xml, classes/org/eclipse/jetty/webapp/webdefault.xml, ...)