Ich kann die gzip-Codierung in meinem Jersey-Dienst nicht aktivieren. Das habe ich ausprobiert:
Begonnen mit dem jersey-quickstart-grizzly2
archetype aus dem Erste Schritte .
Hinzugefügt rc.register(org.glassfish.grizzly.http.GZipContentEncoding.class);
(habe auch rc.register(org.glassfish.jersey.message.GZipEncoder.class);
versucht)
Begonnen mit mvn exec:java
Getestet mit curl --compressed -v -o - http://localhost:8080/myapp/myresource
Das Ergebnis ist das Folgende:
%Vor% Das heißt, trotz Accept-Encoding: deflate, gzip
in der Anfrage gibt es keine Content-Encoding: gzip
in der Antwort.
Was fehlt mir hier?
Sie müssen auch org.glassfish.jersey.server.filter.EncodingFilter
registrieren. In diesem Beispiel wird deflate
und gzip
compression aktiviert:
Diese Lösung ist Jersey-spezifisch und funktioniert nicht nur mit Grizzly, sondern auch mit dem JDK-HTTP-Server.