Saya memiliki server Jetty yang kompresi tidak diaktifkan (saya menguji ini di sini ). Bagaimana saya bisa mengaktifkan kompresi?
Saya memiliki server Jetty yang kompresi tidak diaktifkan (saya menguji ini di sini ). Bagaimana saya bisa mengaktifkan kompresi?
Jawaban:
Anda harus mengaktifkan GzipFilter
Jetty untuk mengembalikan konten yang dikompresi. Lihat di sini tentang cara melakukannya: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
Anda juga dapat menggunakan gzip
parameter init untuk membuat Jetty mencari konten terkompresi. Itu berarti jika file file.txt
tersebut diminta, Jetty akan menonton file bernama file.txt.gz
dan mengembalikannya.
(?) Di Jetty 8 dan kemudian, Anda akan harus menggunakan GzipHandler
sebagai GzipFilter
tampaknya usang / hilang:
<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>
The gzip
parameter init masih bekerja, jika Anda ingin hanya melayani konten statis (yang sebenarnya akan lebih efisien daripada pergi melalui handler Gzip). Namun disarankan untuk menyimpan salinan yang tidak terkompresi di server juga, karena Jetty mungkin perlu menyajikan konten yang tidak terkompresi untuk browser yang tidak kompatibel (kebanyakan IE) .
WEB-INF/jetty-env.xml
dari webapp (ada pilihan lain juga, jetty-web.xml
, web-jetty.xml
, classes/org/eclipse/jetty/webapp/webdefault.xml
, ...)