亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot中開(kāi)啟GZIP壓縮的方式

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

前言

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

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

開(kāi)啟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
  • 未開(kāi)啟GZIP的響應(yīng)頭

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

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

第二種

如果你想進(jìn)行更精細(xì)的控制,可以通過(guò)編程的方式來(lái)啟用和配置 GZIP 壓縮。

例如,使用 WebMvcConfigurer 來(lái)自定義壓縮策略:

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ù)器更擅長(zhǎng)處理靜態(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 壓縮
  • 你可以通過(guò)在 application.propertiesapplication.yml 中配置來(lái)啟用它。
  • 啟用 GZIP 后,只有當(dāng)響應(yīng)體的大小大于指定的 min-response-size 時(shí),才會(huì)進(jìn)行壓縮,默認(rèn)值是 2048 字節(jié)(2 KB)。

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

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

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

2. 提升頁(yè)面加載速度

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

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

  • 降低帶寬消耗:對(duì)于需要處理大量請(qǐng)求的服務(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)化緩存策略:在某些場(chǎng)景下,壓縮后的響應(yīng)體能更好地適應(yīng) HTTP 緩存機(jī)制。尤其是通過(guò)緩存代理(如 CDN 或緩存服務(wù)器)時(shí),壓縮響應(yīng)能幫助緩存內(nèi)容更有效地傳輸并存儲(chǔ)。
  • Vary 頭部支持:如果使用 Vary 頭部來(lái)處理不同的請(qǐng)求,例如,響應(yīng)的內(nèi)容可能會(huì)因客戶端的 Accept-Encoding 請(qǐng)求頭而有所不同。啟用 GZIP 后,緩存代理可以更精確地緩存不同版本的響應(yīng)。

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

  • 減輕應(yīng)用服務(wù)器壓力:雖然壓縮會(huì)增加服務(wù)器端的 CPU 負(fù)擔(dān)(因?yàn)樾枰獙?duì)響應(yīng)體進(jìn)行壓縮),但它能夠通過(guò)減小傳輸數(shù)據(jù)量來(lái)減少帶寬壓力,特別是在高流量的場(chǎng)景下,服務(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)頁(yè)加載時(shí)間,搜索引擎(如 Google)通常會(huì)將加載速度作為排名的一項(xiàng)指標(biāo)。因此,啟用 GZIP 壓縮可能間接地幫助提高網(wǎng)站的 SEO 排名。
  • 提升 Google PageSpeed:Google PageSpeed 工具通常建議開(kāi)啟壓縮,以提高頁(yè)面性能評(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ù),不需要前端開(kāi)發(fā)者額外處理。
  • 無(wú)需手動(dòng)解壓:對(duì)于客戶端來(lái)說(shuō),GZIP 解壓縮是自動(dòng)的,不需要開(kāi)發(fā)者介入,簡(jiǎn)化了開(kāi)發(fā)工作。

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

相關(guān)文章

  • Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator詳解

    Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator詳解

    這篇文章主要為大家介紹了Kafka消費(fèi)客戶端協(xié)調(diào)器GroupCoordinator使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Mybatis 插件原理解析

    Mybatis 插件原理解析

    mybatis是一款優(yōu)秀的ORM開(kāi)源框架,這個(gè)框架具有極強(qiáng)的靈活性,本文再次給大家介紹Mybatis 插件原理,感興趣的朋友一起看看吧
    2021-10-10
  • 使用Java手搓一個(gè)控制臺(tái)進(jìn)度條打印工具

    使用Java手搓一個(gè)控制臺(tái)進(jìn)度條打印工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Java手搓一個(gè)控制臺(tái)進(jìn)度條打印工具,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • java和matlab畫多邊形閉合折線圖示例講解

    java和matlab畫多邊形閉合折線圖示例講解

    由于要將“哈密頓回路問(wèn)題(TSP)”的求解中間結(jié)果表示出來(lái),查了一下使用程序畫多邊形圖形?,F(xiàn)在在總結(jié)一下,這個(gè)圖是“由給定節(jié)點(diǎn)首尾相連的”閉合多邊形
    2014-02-02
  • SpringBoot下載文件的正確解法方式

    SpringBoot下載文件的正確解法方式

    這篇文章主要給大家介紹了關(guān)于SpringBoot下載文件的正確解法方式,SpringBoot是一款流行的框架,用于開(kāi)發(fā)Web應(yīng)用程序,在使用SpringBoot構(gòu)建Web應(yīng)用程序時(shí),可能需要實(shí)現(xiàn)文件下載的功能,需要的朋友可以參考下
    2023-08-08
  • Java實(shí)現(xiàn)線程通信的案例講解

    Java實(shí)現(xiàn)線程通信的案例講解

    所謂線程通信就是線程間相互發(fā)送數(shù)據(jù),線程通信通常通過(guò)共享一個(gè)數(shù)據(jù)的方式實(shí)現(xiàn)。本文將通過(guò)案例詳解Java中線程通信的實(shí)現(xiàn),感興趣的可以了解一下
    2022-05-05
  • SpringBoot集成validation校驗(yàn)參數(shù)遇到的坑

    SpringBoot集成validation校驗(yàn)參數(shù)遇到的坑

    這篇文章主要介紹了SpringBoot集成validation校驗(yàn)參數(shù)遇到的坑,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試

    全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試

    這篇文章主要介紹了全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • jdk15的安裝與配置全過(guò)程記錄

    jdk15的安裝與配置全過(guò)程記錄

    這篇文章主要給大家介紹了關(guān)于jdk15的安裝與配置,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Spring Security OAuth2集成短信驗(yàn)證碼登錄以及第三方登錄

    Spring Security OAuth2集成短信驗(yàn)證碼登錄以及第三方登錄

    這篇文章主要介紹了Spring Security OAuth2集成短信驗(yàn)證碼登錄以及第三方登錄,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論