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 gzip
Parameter init verwenden, um Jetty nach komprimiertem Inhalt zu suchen. Das heißt, wenn die Datei file.txt
angefordert wird, sucht Jetty nach einer Datei mit dem Namen file.txt.gz
und gibt diese zurück.
In Jetty 8 (?) Und höher müssen Sie ein GzipHandler
as 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 gzip
init-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.xml
den Webapp (es gibt auch andere Optionen , wie gut, jetty-web.xml
, web-jetty.xml
, classes/org/eclipse/jetty/webapp/webdefault.xml
, ...)