Le reste de ces réponses est obsolète et / ou trop compliqué pour quelque chose qui devrait être simple IMO (depuis combien de temps gzip existe-t-il? Plus longtemps que Java ...)
Dans 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
Dans 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
Plus de 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");
}
}
Notez également que cela fonctionnera UNIQUEMENT si vous exécutez Tomcat intégré:
Si vous prévoyez de déployer sur un tomcat non intégré, vous devrez l'activer dans server.xml http://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation
Note de production IRL:
Aussi, pour éviter tout cela, envisagez d'utiliser une configuration de proxy / équilibreur de charge devant Tomcat avec nginx et / ou haproxy ou similaire, car il gérera les actifs statiques et gzip BEAUCOUP plus efficacement et plus facilement que le modèle de thread de Java / Tomcat.
Vous ne voulez pas jeter `` chat dans le bain parce qu'il est occupé à compresser des choses au lieu de servir des demandes (ou plus probablement à faire tourner des threads / à manger du processeur / du tas en attendant que l'E / S de la base de données se produise lors de l'exécution de votre facture AWS qui est pourquoi Java / Tomcat traditionnel n'est peut-être pas une bonne idée pour commencer en fonction de ce que vous faites mais je m'égare ...)
réfs:
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