Der Rest dieser Antworten ist veraltet und / oder übertrieben kompliziert für etwas, das einfach sein sollte IMO (wie lange gibt es gzip schon? Länger als Java ...) Aus den Dokumenten:
In application.properties 1.3+
# 🗜️🗜️🗜️
server.compression.enabled=true
# opt in to content types
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
# not worth the CPU cycles at some point, probably
server.compression.min-response-size=10240
In application.properties 1.2.2 - <1.3
server.tomcat.compression=on
server.tomcat.compressableMimeTypes=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
Älter als 1.2.2:
@Component
public class TomcatCustomizer implements TomcatConnectorCustomizer {
@Override
public void customize(Connector connector) {
connector.setProperty("compression", "on");
// Add json and xml mime types, as they're not in the mimetype list by default
connector.setProperty("compressableMimeType", "text/html,text/xml,text/plain,application/json,application/xml");
}
}
Beachten Sie auch, dass dies NUR funktioniert, wenn Sie Embedded Tomcat ausführen:
Wenn Sie die Bereitstellung auf einem nicht eingebetteten Tomcat planen, müssen Sie diese in server.xml http://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation aktivieren
IRL-Produktionshinweis:
Um all dies zu vermeiden, sollten Sie ein Proxy / Load Balancer-Setup vor Tomcat mit nginx und / oder haproxy oder ähnlichem verwenden, da es statische Assets und gzip VIEL effizienter und einfacher handhabt als das Threading-Modell von Java / Tomcat.
Sie möchten die Katze nicht in die Badewanne werfen, weil sie damit beschäftigt ist, Dinge zu komprimieren, anstatt Anforderungen zu bedienen (oder eher Threads zu spinnen / CPU / Heap zu essen, während Sie Ihre AWS-Rechnung ausführen) warum traditionelles Java / Tomcat vielleicht keine gute Idee ist, je nachdem, was Sie tun, aber ich schweife ab ...)
Refs:
https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/howto.html#how-to-enable-http-response-compression
https://github.com/spring-projects/spring-boot/issues/2031