首页 > 其他分享 >SpringBoot 开启GZIP数据压缩

SpringBoot 开启GZIP数据压缩

时间:2023-07-27 11:24:51浏览次数:36  
标签:xml SpringBoot text 压缩 javascript server application GZIP 数据压缩

I. gizp 压缩配置

1. 配置

SpringBoot 默认是不开启 gzip 压缩的,需要我们手动开启,在配置文件中添加两行

server:
compression:
enabled: true
mime-types: application/json,application/xml,text/html,text/plain,text/css,application/x-javascript

注意下上面配置中的mime-types,在 spring2.0+的版本中,默认值如下,所以一般我们不需要特意添加这个配置

// org.springframework.boot.web.server.Compression#mimeTypes
/**
* Comma-separated list of MIME types that should be compressed.
*/
private String[] mimeTypes = new String[] { "text/html", "text/xml", "text/plain",
"text/css", "text/javascript", "application/javascript", "application/json",
"application/xml" };

2. 测试

写一个测试的 demo

@RestController

public class HelloRest {

    @GetMapping("bigReq")

    public String bigReqList() {

        List<String> result = new ArrayList<>(2048);

        for (int i = 0; i < 2048; i++) {

            result.add(UUID.randomUUID().toString());

        }

        return JSON.toJSONString(result);

    }

}

 

 

 

3. 说明

虽然加上了上面的配置,开启了 gzip 压缩,但是需要注意并不是说所有的接口都会使用 gzip 压缩,默认情况下,仅会压缩 2048 字节以上的内容

如果我们需要修改这个值,通过修改配置即可

server:
  compression:
    min-response-size: 1024


# 测试环境
server:
  port: 8054
  connection-timeout: 18000000
  compression:     #gizp 压缩配置
    enabled: false  #开启了 gzip 压缩
    mime-types: application/json,application/xml,text/html,text/plain,text/css,application/x-javascript
    min-response-size: 1024

 

 

 

标签:xml,SpringBoot,text,压缩,javascript,server,application,GZIP,数据压缩
From: https://www.cnblogs.com/Fooo/p/17584433.html

相关文章

  • 关于tomcat开启gzip的配置
    tomcat里面server.xml<Connectorport="80"protocol="HTTP/1.1"connectionTimeout="20000"compression="on"(打开压缩功能)compressionMinSize="1000"(启用压缩的输出内容大小,默认为2KB,单位KB)compr......
  • SpringBoot中定时任务开启多线程避免多任务堵塞
    场景SpringBoot中定时任务与异步定时任务的实现:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117083609使用SpringBoot原生方式实现定时任务,已经开启多线程支持,以上是方式之一。除此之外还可通过如下方式。为什么SpringBoot定时任务是单线程的?查看注解@Ena......
  • SpringBoot+Prometheus+Grafana实现系统可视化监控
    场景SpringBoot中集成Actuator实现监控系统运行状态:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124272494基于以上Actuator实现系统监控,还可采用如下方案。PrometheusPrometheus,是一个开源的系统监控和告警的工具包,其采用Pull方式采集时间序列的度量数据(也......
  • 我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.6.0更新
    什么是rest-api-spring-boot-starterrest-api-spring-boot-starter适用于SpringBootWebAPI快速构建让开发人员快速构建统一规范的业务RestFullAPI不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。动机每次WebAPI常用功能都需要重新写一遍。或者复制之前的项目代码......
  • springboot 解决高并发下的商品少卖多卖的问题
    1.商品秒杀-超卖在开发中,对于下面的代码,可能很熟悉:在Service里面加上@Transactional事务注解和Lock锁。控制层:Controller@ApiOperation(value="秒杀实现方式——Lock加锁")@PostMapping("/start/lock")public Result startLock(long skgId){    try {        ......
  • springboot整合junit
       ......
  • 多环境开发兼容问题(Maven与Springboot)
          ......
  • springboot五
    SpringBoot集成Thymeleaf模板引擎1.Thymeleaf介绍Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是为开发工作流程带来优雅的自然模板,既可以在浏览器中正确显示的HTML,也可以用作静态原型,从而在开发团队中实现更强大的协作。传统......
  • Springboot初学
    Springboot学习:参考网页:https://blog.csdn.net/sunroyi666/article/details/951899381.下载maven,修改配置:参考网页:https://blog.csdn.net/a805814077/article/details/1005459282.创建springbootEureka:遇到问题;Cannotresolvesymbol'springframework'解决方法:检查maven......
  • springboot项目分层架构
    SpringBoot项目分层架构SpringBoot是一个用于构建Java应用程序的开源框架,它提供了快速开发的特性,使得开发人员可以更加专注于业务逻辑的编写。在开发一个SpringBoot项目时,良好的分层架构是非常重要的,它可以帮助我们更好地组织代码并提高项目的可维护性和可扩展性。本文将介绍一......