Tengo un servidor Jetty que no tiene habilitada la compresión ( probé esto aquí ). ¿Cómo puedo habilitar la compresión?
Tengo un servidor Jetty que no tiene habilitada la compresión ( probé esto aquí ). ¿Cómo puedo habilitar la compresión?
Respuestas:
Tienes que habilitar el GzipFilter
para hacer que Jetty devuelva contenido comprimido. Eche un vistazo aquí sobre cómo hacerlo: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
También puede usar el gzip
parámetro init para hacer que Jetty busque contenido comprimido. Eso significa que si file.txt
se solicita el archivo , Jetty buscará un archivo con nombre file.txt.gz
y lo devolverá.
En Jetty 8 (?) Y posteriores, tendrá que usar un GzipHandler
como GzipFilter
parece estar en desuso / falta:
<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>
El gzip
parámetro init aún funciona, en caso de que solo desee servir contenido estático (que de hecho sería más eficiente que pasar por el controlador GZip). Sin embargo, también es aconsejable conservar las copias sin comprimir en el servidor, ya que Jetty puede necesitar servir contenido sin comprimir para navegadores incompatibles (principalmente IE) .
WEB-INF/jetty-env.xml
la aplicación de web (hay otras opciones también, jetty-web.xml
, web-jetty.xml
, classes/org/eclipse/jetty/webapp/webdefault.xml
, ...)