最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot中開啟GZIP壓縮的方式

 更新時(shí)間:2025年04月21日 09:20:42   作者:無名指的等待712  
這篇文章主要介紹了SpringBoot中開啟GZIP壓縮的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

首先GZIP壓縮有哪些好處了解一下先:

  • 1.減小響應(yīng)體大小
  • 2.提升頁面的加載速度
  • 3.節(jié)省帶寬成本
  • 4.優(yōu)化移動(dòng)端的體驗(yàn)(主要是一般在移動(dòng)端設(shè)備上,網(wǎng)絡(luò)帶寬通常是比較慢的,啟用可以有效提升速度)
  • 5.更有效的緩存利用
  • 6.改善SEO搜索引擎優(yōu)化

開啟GZIP壓縮方式

第一種

server:
  compression:
    enabled: true
    min-response-size: 1024  # 只有響應(yīng)體大于 1KB 時(shí)才壓縮
    mime-types: # 下面的是響應(yīng)體的格式是這些的時(shí)候會(huì)壓縮
      - application/json
      - application/xml
      - text/html
      - text/plain
      - text/css
      - application/javascript
  • 未開啟GZIP的響應(yīng)頭

  • 開啟GZIP后的響應(yīng)頭

這里可能你目前響應(yīng)體返回的內(nèi)容短的時(shí)候你看不出來,但是一旦響應(yīng)較長的內(nèi)容,你就能看到響應(yīng)時(shí)間和渲染時(shí)間明顯的加速

第二種

如果你想進(jìn)行更精細(xì)的控制,可以通過編程的方式來啟用和配置 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 {

    @Bean
    public ServletRegistrationBean<Filter> compressionFilter() {
        // 可以自定義壓縮邏輯的 Filter(可選)
        Filter compressionFilter = new GzipFilter();
        ServletRegistrationBean<Filter> registrationBean = new ServletRegistrationBean<>(compressionFilter);
        registrationBean.addUrlPatterns("/api/*"); // 指定哪些 URL 需要壓縮
        return registrationBean;
    }
}

第三種

盡管 Spring Boot 可以在應(yīng)用層進(jìn)行 GZIP 壓縮,通常在生產(chǎn)環(huán)境中使用 Nginx 或 Apache 等反向代理服務(wù)器進(jìn)行 GZIP 壓縮更為高效,因?yàn)榉聪虼硗ǔ1葢?yīng)用服務(wù)器更擅長處理靜態(tài)內(nèi)容的壓縮。

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

總結(jié)

  • 默認(rèn)情況下,Spring Boot 不啟用 GZIP 壓縮。
  • 你可以通過在 application.propertiesapplication.yml 中配置來啟用它。
  • 啟用 GZIP 后,只有當(dāng)響應(yīng)體的大小大于指定的 min-response-size 時(shí),才會(huì)進(jìn)行壓縮,默認(rèn)值是 2048 字節(jié)(2 KB)。

強(qiáng)調(diào)開啟GZIP的好處有哪些?

1.減小響應(yīng)體大小

  • 壓縮數(shù)據(jù):GZIP 壓縮能夠顯著減小響應(yīng)體的大小,尤其是對(duì)于 JSON、HTML、CSS、JavaScript 等文本格式的數(shù)據(jù)。通常,文本數(shù)據(jù)能被壓縮到原來的 20% 到 30% 左右,甚至更多,這有助于節(jié)省帶寬。
  • 減少數(shù)據(jù)傳輸:壓縮后的數(shù)據(jù)更小,意味著從服務(wù)器到客戶端傳輸?shù)臄?shù)據(jù)量減少,這對(duì)于網(wǎng)絡(luò)帶寬有限的環(huán)境尤其重要。

2. 提升頁面加載速度

  • 更快的加載速度:響應(yīng)體變小后,傳輸時(shí)間減少,客戶端(如瀏覽器)能夠更快地獲取到數(shù)據(jù),從而加快頁面渲染或 API 請求的響應(yīng)速度。
  • 改善用戶體驗(yàn):壓縮后的響應(yīng)能夠減少頁面加載時(shí)間,提升用戶體驗(yàn),尤其是在移動(dòng)端或網(wǎng)絡(luò)條件不佳的環(huán)境中。

3. 節(jié)省帶寬成本

  • 降低帶寬消耗:對(duì)于需要處理大量請求的服務(wù)器,GZIP 壓縮能夠有效減少帶寬消耗,從而減少服務(wù)器的帶寬成本。
  • 適應(yīng)大流量應(yīng)用:在高并發(fā)的情況下,壓縮能夠緩解帶寬壓力,提高服務(wù)的可伸縮性。

4. 優(yōu)化移動(dòng)端體驗(yàn)

  • 改善移動(dòng)網(wǎng)絡(luò)條件下的性能:在移動(dòng)設(shè)備上,網(wǎng)絡(luò)帶寬通常較慢,啟用 GZIP 壓縮可以顯著提升應(yīng)用在 3G/4G 等不穩(wěn)定網(wǎng)絡(luò)環(huán)境下的響應(yīng)速度。
  • 減少流量使用:移動(dòng)設(shè)備的流量通常有限,壓縮后的響應(yīng)能夠減少流量消耗,有利于用戶節(jié)省流量。

5. 更有效的緩存利用

  • 優(yōu)化緩存策略:在某些場景下,壓縮后的響應(yīng)體能更好地適應(yīng) HTTP 緩存機(jī)制。尤其是通過緩存代理(如 CDN 或緩存服務(wù)器)時(shí),壓縮響應(yīng)能幫助緩存內(nèi)容更有效地傳輸并存儲(chǔ)。
  • Vary 頭部支持:如果使用 Vary 頭部來處理不同的請求,例如,響應(yīng)的內(nèi)容可能會(huì)因客戶端的 Accept-Encoding 請求頭而有所不同。啟用 GZIP 后,緩存代理可以更精確地緩存不同版本的響應(yīng)。

6. 減少服務(wù)器負(fù)擔(dān)

  • 減輕應(yīng)用服務(wù)器壓力:雖然壓縮會(huì)增加服務(wù)器端的 CPU 負(fù)擔(dān)(因?yàn)樾枰獙?duì)響應(yīng)體進(jìn)行壓縮),但它能夠通過減小傳輸數(shù)據(jù)量來減少帶寬壓力,特別是在高流量的場景下,服務(wù)器的網(wǎng)絡(luò)帶寬瓶頸可能比 CPU 成為瓶頸更早,從而間接優(yōu)化了服務(wù)器性能。
  • 適用于大流量應(yīng)用:對(duì)于高并發(fā)、大流量的應(yīng)用,GZIP 壓縮可以幫助有效降低帶寬需求,從而提高整體服務(wù)的性能和穩(wěn)定性。

7. 改善 SEO 和 Google PageSpeed

  • 優(yōu)化 SEO(搜索引擎優(yōu)化):雖然 GZIP 壓縮本身并不會(huì)直接影響 SEO,但壓縮可以加速網(wǎng)頁加載時(shí)間,搜索引擎(如 Google)通常會(huì)將加載速度作為排名的一項(xiàng)指標(biāo)。因此,啟用 GZIP 壓縮可能間接地幫助提高網(wǎng)站的 SEO 排名。
  • 提升 Google PageSpeed:Google PageSpeed 工具通常建議開啟壓縮,以提高頁面性能評(píng)分。啟用 GZIP 壓縮有助于提升 PageSpeed 評(píng)分,優(yōu)化用戶體驗(yàn)。

8. 支持現(xiàn)代瀏覽器的自動(dòng)解壓縮

  • 瀏覽器支持:現(xiàn)代瀏覽器(如 Chrome、Firefox、Safari 等)都支持 GZIP 解壓縮??蛻舳嗽谑盏綁嚎s的響應(yīng)后,瀏覽器會(huì)自動(dòng)進(jìn)行解壓并呈現(xiàn)數(shù)據(jù),不需要前端開發(fā)者額外處理。
  • 無需手動(dòng)解壓:對(duì)于客戶端來說,GZIP 解壓縮是自動(dòng)的,不需要開發(fā)者介入,簡化了開發(fā)工作。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法總結(jié)

    IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法總結(jié)

    標(biāo)準(zhǔn)javaBean是定義一個(gè)類的標(biāo)準(zhǔn)結(jié)構(gòu),下面這篇文章主要給大家總結(jié)介紹了關(guān)于IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Java優(yōu)化重復(fù)冗余代碼的8種方式總結(jié)

    Java優(yōu)化重復(fù)冗余代碼的8種方式總結(jié)

    日常開發(fā)中,我們經(jīng)常會(huì)遇到一些重復(fù)代碼,最近小編優(yōu)化了一些系統(tǒng)中的重復(fù)代碼,用了好幾種的方式,感覺挺有用的,所以本文給大家講講優(yōu)化重復(fù)代碼的幾種方式
    2023-08-08
  • Java String的intern用法解析

    Java String的intern用法解析

    這篇文章主要介紹了Java String的intern用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • des加密解密JAVA與.NET互通實(shí)例

    des加密解密JAVA與.NET互通實(shí)例

    這篇文章主要介紹了des加密解密JAVA與.NET互通實(shí)例,大家參考使用吧
    2013-12-12
  • Spring使用@Autowired為抽象父類注入依賴代碼實(shí)例

    Spring使用@Autowired為抽象父類注入依賴代碼實(shí)例

    這篇文章主要介紹了Spring使用@Autowired為抽象父類注入依賴代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Spring代理對(duì)象導(dǎo)致的獲取不到原生對(duì)象注解的解決

    Spring代理對(duì)象導(dǎo)致的獲取不到原生對(duì)象注解的解決

    本文主要介紹了Spring代理對(duì)象導(dǎo)致的獲取不到原生對(duì)象注解的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送

    Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送

    這篇文章主要介紹了Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送,幫助大家更好的理解和學(xué)習(xí)Java網(wǎng)絡(luò)編程,感興趣的朋友可以了解下
    2020-11-11
  • Java設(shè)計(jì)圖形與多媒體處理

    Java設(shè)計(jì)圖形與多媒體處理

    本文主要介紹了Java的圖形設(shè)計(jì)以及多媒體處理,源碼也做了詳細(xì)的注釋,對(duì)于初學(xué)者應(yīng)該不難。詳細(xì)請看下文
    2015-09-09
  • 詳解Spring框架之基于Restful風(fēng)格實(shí)現(xiàn)的SpringMVC

    詳解Spring框架之基于Restful風(fēng)格實(shí)現(xiàn)的SpringMVC

    這篇文章主要介紹了詳解Spring框架之基于Restful風(fēng)格實(shí)現(xiàn)的SpringMVC,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Java redisTemplate阻塞式處理消息隊(duì)列

    Java redisTemplate阻塞式處理消息隊(duì)列

    用redis中的List可以實(shí)現(xiàn)隊(duì)列,這樣可以用來做消息處理和任務(wù)調(diào)度的隊(duì)列。因此,本文將主要為大家介紹如何利用redisTemplate處理消息隊(duì)列,感興趣的小伙伴可以了解一下
    2021-12-12

最新評(píng)論

八宿县| 维西| 杨浦区| 乌审旗| 宜昌市| 娄底市| 镇康县| 邻水| 巩留县| 桑植县| 万宁市| 临清市| 吉安市| 枣阳市| 云霄县| 大庆市| 临夏县| 尼玛县| 密云县| 灵武市| 邢台县| 陇川县| 白朗县| 宁津县| 彭水| 铜川市| 牡丹江市| 额敏县| 连江县| 灯塔市| 洪雅县| 余干县| 大石桥市| 河北省| 鲁山县| 阿克陶县| 栾川县| 丰原市| 六安市| 阜城县| 台前县|