Ich habe einen Jetty-Server, auf dem die Komprimierung nicht aktiviert ist (ich habe dies hier getestet ). Wie kann ich die Komprimierung aktivieren?
Ich habe einen Jetty-Server, auf dem die Komprimierung nicht aktiviert ist (ich habe dies hier getestet ). Wie kann ich die Komprimierung aktivieren?
Antworten:
Sie müssen aktivieren GzipFilter, damit Jetty komprimierten Inhalt zurückgibt. Schauen Sie hier, wie das geht: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
Sie können auch den gzipParameter init verwenden, um Jetty nach komprimiertem Inhalt zu suchen. Das heißt, wenn die Datei file.txtangefordert wird, sucht Jetty nach einer Datei mit dem Namen file.txt.gzund gibt diese zurück.
In Jetty 8 (?) Und höher müssen Sie ein GzipHandleras verwenden GzipFilter, das veraltet zu sein scheint / fehlt:
<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>
Der gzipinit-Parameter funktioniert weiterhin, wenn Sie nur statischen Inhalt bereitstellen möchten (was in der Tat effizienter wäre, als den GZip-Handler zu durchlaufen). Es ist jedoch ratsam, die unkomprimierten Kopien auch auf dem Server zu behalten, da Jetty möglicherweise nicht komprimierte Inhalte für inkompatible Browser (meistens IE) bereitstellen muss .
WEB-INF/jetty-env.xmlden Webapp (es gibt auch andere Optionen , wie gut, jetty-web.xml, web-jetty.xml, classes/org/eclipse/jetty/webapp/webdefault.xml, ...)