Решта цих відповідей застаріли та / або вгорі ускладнені для чогось, що повинно бути простим IMO (як довго gzip існує зараз? Довше, ніж Java ...) З документації:
У застосуванні. Властивості 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
У застосуванні. Властивості 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
Старіші за 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");
}
}
Також зверніть увагу, що це працюватиме ТІЛЬКИ, якщо ви використовуєте вбудований tomcat:
Якщо ви плануєте розгорнути в невбудованому tomcat, вам доведеться його ввімкнути в server.xml http://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation
Примітка щодо виробництва IRL:
Крім того, щоб уникнути всього цього, розгляньте можливість використання налаштування проксі / балансу навантаження перед Tomcat з nginx та / або haproxy або подібним, оскільки він буде обробляти статичні активи та gzip НАБАГАТО ефективніше та простіше, ніж модель потокових процесів Java / Tomcat.
Ви не хочете кидати "кота у ванну, тому що він зайнятий стисненням речей замість того, щоб обслуговувати запити (або, швидше за все, обертає нитки / їсть процесор / купу, сидячи навколо, чекаючи введення IO бази даних під час запуску вашого рахунку AWS, який є чому традиційна Java / Tomcat може бути непоганою ідеєю для початку, залежно від того, що ви робите, але я відступаю ...)
посилання:
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