您的位置:首页 > 汽车 > 时评 > 计算机软件开发培训班_pbootcms管理中心_营销网络怎么写_百度关键词投放

计算机软件开发培训班_pbootcms管理中心_营销网络怎么写_百度关键词投放

2025/1/10 20:49:16 来源:https://blog.csdn.net/weixin_60523038/article/details/145008929  浏览:    关键词:计算机软件开发培训班_pbootcms管理中心_营销网络怎么写_百度关键词投放
计算机软件开发培训班_pbootcms管理中心_营销网络怎么写_百度关键词投放

SpringBoot如何开启GZIP压缩

文章目录

目录

文章目录

前言

开启GZIP压缩方式

第一种

第二种

第三种

总结:

1.减小响应体大小

2. 提升页面加载速度

3. 节省带宽成本

4. 优化移动端体验

5. 更有效的缓存利用

6. 减少服务器负担

7. 改善 SEO 和 Google PageSpeed

8. 支持现代浏览器的自动解压


前言

首先GZIP压缩有哪些好处了解一下先
1.减小响应体大小
2.提升页面的加载速度
3.节省带宽成本
4.优化移动端的体验(主要是一般在移动端设备上,网络带宽通常是比较慢的,启用可以有效提升速度)
5.更有效的缓存利用
6.改善SEO搜索引擎优化

开启GZIP压缩方式

第一种

server:compression:enabled: truemin-response-size: 1024  # 只有响应体大于 1KB 时才压缩mime-types: # 下面的是响应体的格式是这些的时候会压缩- application/json- application/xml- text/html- text/plain- text/css- application/javascript

 未开启GZIP的响应头

 开启GZIP后的响应头

这里可能你目前响应体返回的内容短的时候你看不出来,但是一旦响应较长的内容,你就能看到响应时间和渲染时间明显的加速

第二种

如果你想进行更精细的控制,可以通过编程的方式来启用和配置 GZIP 压缩。例如,使用 WebMvcConfigurer 来自定义压缩策略:

import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class WebConfig implements WebMvcConfigurer {@Beanpublic ServletRegistrationBean<Filter> compressionFilter() {// 可以自定义压缩逻辑的 Filter(可选)Filter compressionFilter = new GzipFilter();ServletRegistrationBean<Filter> registrationBean = new ServletRegistrationBean<>(compressionFilter);registrationBean.addUrlPatterns("/api/*"); // 指定哪些 URL 需要压缩return registrationBean;}
}

第三种

尽管 Spring Boot 可以在应用层进行 GZIP 压缩,通常在生产环境中使用 Nginx 或 Apache 等反向代理服务器进行 GZIP 压缩更为高效,因为反向代理通常比应用服务器更擅长处理静态内容的压缩。

http {gzip on;gzip_types application/json application/xml text/html text/plain text/css application/javascript;gzip_min_length 1024;
}

总结:

  • 默认情况下,Spring Boot 不启用 GZIP 压缩
  • 你可以通过在 application.propertiesapplication.yml 中配置来启用它。
  • 启用 GZIP 后,只有当响应体的大小大于指定的 min-response-size 时,才会进行压缩,默认值是 2048 字节(2 KB)。

强调开启GZIP的好处有哪些

1.减小响应体大小

  • 压缩数据:GZIP 压缩能够显著减小响应体的大小,尤其是对于 JSON、HTML、CSS、JavaScript 等文本格式的数据。通常,文本数据能被压缩到原来的 20% 到 30% 左右,甚至更多,这有助于节省带宽。
  • 减少数据传输:压缩后的数据更小,意味着从服务器到客户端传输的数据量减少,这对于网络带宽有限的环境尤其重要。

2. 提升页面加载速度

  • 更快的加载速度:响应体变小后,传输时间减少,客户端(如浏览器)能够更快地获取到数据,从而加快页面渲染或 API 请求的响应速度。
  • 改善用户体验:压缩后的响应能够减少页面加载时间,提升用户体验,尤其是在移动端或网络条件不佳的环境中。

3. 节省带宽成本

  • 降低带宽消耗:对于需要处理大量请求的服务器,GZIP 压缩能够有效减少带宽消耗,从而减少服务器的带宽成本。
  • 适应大流量应用:在高并发的情况下,压缩能够缓解带宽压力,提高服务的可伸缩性。

4. 优化移动端体验

  • 改善移动网络条件下的性能:在移动设备上,网络带宽通常较慢,启用 GZIP 压缩可以显著提升应用在 3G/4G 等不稳定网络环境下的响应速度。
  • 减少流量使用:移动设备的流量通常有限,压缩后的响应能够减少流量消耗,有利于用户节省流量。

5. 更有效的缓存利用

  • 优化缓存策略:在某些场景下,压缩后的响应体能更好地适应 HTTP 缓存机制。尤其是通过缓存代理(如 CDN 或缓存服务器)时,压缩响应能帮助缓存内容更有效地传输并存储。
  • Vary 头部支持:如果使用 Vary 头部来处理不同的请求,例如,响应的内容可能会因客户端的 Accept-Encoding 请求头而有所不同。启用 GZIP 后,缓存代理可以更精确地缓存不同版本的响应。

6. 减少服务器负担

  • 减轻应用服务器压力:虽然压缩会增加服务器端的 CPU 负担(因为需要对响应体进行压缩),但它能够通过减小传输数据量来减少带宽压力,特别是在高流量的场景下,服务器的网络带宽瓶颈可能比 CPU 成为瓶颈更早,从而间接优化了服务器性能。
  • 适用于大流量应用:对于高并发、大流量的应用,GZIP 压缩可以帮助有效降低带宽需求,从而提高整体服务的性能和稳定性。

7. 改善 SEO 和 Google PageSpeed

  • 优化 SEO(搜索引擎优化):虽然 GZIP 压缩本身并不会直接影响 SEO,但压缩可以加速网页加载时间,搜索引擎(如 Google)通常会将加载速度作为排名的一项指标。因此,启用 GZIP 压缩可能间接地帮助提高网站的 SEO 排名。
  • 提升 Google PageSpeed:Google PageSpeed 工具通常建议开启压缩,以提高页面性能评分。启用 GZIP 压缩有助于提升 PageSpeed 评分,优化用户体验。

8. 支持现代浏览器的自动解压缩

  • 浏览器支持:现代浏览器(如 Chrome、Firefox、Safari 等)都支持 GZIP 解压缩。客户端在收到压缩的响应后,浏览器会自动进行解压并呈现数据,不需要前端开发者额外处理。
  • 无需手动解压:对于客户端来说,GZIP 解压缩是自动的,不需要开发者介入,简化了开发工作。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com