成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

解析SpringBoot項目開發之Gzip壓縮過程

瀏覽:2日期:2023-05-06 13:17:19

為了減少數據在網絡中的傳輸量,從而減少傳輸時長,增加用戶體驗,瀏覽器大都是支持Gzip壓縮技術的,http的請求頭 Accept-Encoding:gzip, deflate 就表示這次請求可以接受Gzip壓縮后的數據,圖片不要進行壓縮,因為圖片完全可以在項目開發中使用壓縮后的圖片。壓縮會有一定的CPU性能損耗。

下面介紹幾種 Gzip壓縮方式

1.SpringBoot開啟Gzip壓縮

在application.properties中加入如下配置:

server.compression.enabled=trueserver.compression.mime-types=application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain

壓縮前:25.3kb,50.0kb,37.5kb,5.1kb,34.7kb

解析SpringBoot項目開發之Gzip壓縮過程

壓縮后:6.4kb,11.7kb,8.3kb,1.3kb,34.7kb

解析SpringBoot項目開發之Gzip壓縮過程

壓縮后可看到文件有4倍左右的差距,能大大減少網絡傳輸量,頁面加載速度加快

2.Tomcat開啟Gzip壓縮

tomcat中使用gzip需要進行配置,在server.xml中,在Connector標簽中加入如下屬性

compression='on' compressionMinSize='2048' compressableMimeType='text/html,text/css,text/javascript'

3.Nginx開啟Gzip壓縮

gzip on;gzip_min_length 1k;gzip_buffers 4 16k;#gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary off;

重載nginx即可第1行:開啟Gzip第2行:不壓縮臨界值,大于1K的才壓縮,一般不用改第3行:buffer,不用改第4行:用了反向代理的話,末端通信是HTTP/1.0,有需求的應該也不用看我這科普文了;有這句的話注釋了就行了,默認是HTTP/1.1第5行:壓縮級別,1-10,數字越大壓縮的越好,時間也越長,看心情隨便改吧第6行:進行壓縮的文件類型,缺啥補啥就行了,JavaScript有兩種寫法,最好都寫上吧,總有人抱怨js文件沒有壓縮,其實多寫一種格式就行了第7行:跟Squid等緩存服務有關,on的話會在Header里增加'Vary: Accept-Encoding',我不需要這玩意,自己對照情況看著辦吧

4.GZIPOutputStream,GZIPInputStream壓縮與解壓

import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutputStream;import org.apache.commons.codec.binary.StringUtils; public class GZIPUtils { public static final String GZIP_ENCODE_UTF_8 = 'UTF-8'; public static final String GZIP_ENCODE_ISO_8859_1 = 'ISO-8859-1'; /** * 字符串壓縮為GZIP字節數組 * @param str * @return */ public static byte[] compress(String str) { return compress(str, GZIP_ENCODE_UTF_8); } /** * 字符串壓縮為GZIP字節數組 * @param str * @param encoding * @return */ public static byte[] compress(String str, String encoding) { if (str == null || str.length() == 0) { return null; } ByteArrayOutputStream out = new ByteArrayOutputStream(); GZIPOutputStream gzip; try { gzip = new GZIPOutputStream(out); gzip.write(str.getBytes(encoding)); gzip.close(); } catch (IOException e) { e.printStackTrace(); } return out.toByteArray(); } /** * GZIP解壓縮 * @param bytes * @return */ public static byte[] uncompress(byte[] bytes) { if (bytes == null || bytes.length == 0) { return null; } ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayInputStream in = new ByteArrayInputStream(bytes); try { GZIPInputStream ungzip = new GZIPInputStream(in); byte[] buffer = new byte[256]; int n; while ((n = ungzip.read(buffer)) >= 0) {out.write(buffer, 0, n); } } catch (IOException e) { e.printStackTrace(); } return out.toByteArray(); } /** * 解壓并返回String * @param bytes * @return */ public static String uncompressToString(byte[] bytes) { return uncompressToString(bytes, GZIP_ENCODE_UTF_8); } /** * 解壓 * @param bytes * @param encoding * @return */ public static String uncompressToString(byte[] bytes, String encoding) { if (bytes == null || bytes.length == 0) { return null; } ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayInputStream in = new ByteArrayInputStream(bytes); try { GZIPInputStream ungzip = new GZIPInputStream(in); byte[] buffer = new byte[256]; int n; while ((n = ungzip.read(buffer)) >= 0) {out.write(buffer, 0, n); } return out.toString(encoding); } catch (IOException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { String str = '%5B%7B%22lastUpdateTime%22%3A%222011-10-28+9%3A39%3A41%22%2C%22smsList%22%3A%5B%7B%22liveState%22%3A%221'; System.out.println('原長度:' + str.length()); System.out.println('壓縮后字符串:' + GZIPUtils.compress(str).toString().length()); System.out.println('解壓縮后字符串:' + StringUtils.newStringUtf8(GZIPUtils.uncompress(GZIPUtils.compress(str)))); System.out.println('解壓縮后字符串:' + GZIPUtils.uncompressToString(GZIPUtils.compress(str))); }}

到此這篇關于SpringBoot項目開發之Gzip壓縮過程的文章就介紹到這了,更多相關SpringBoot Gzip壓縮內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
精品在线观看视频| 99久久99久久久精品齐齐| 另类小说图片综合网| 99综合精品| 国产日产亚洲精品系列| 成人小视频免费在线观看| 欧美日本一道本| 免费高清在线一区| 美女视频一区免费观看| 亚洲欧美日韩在线不卡| 欧美日韩一区在线观看视频| 日韩欧美黄色影院| 国产aⅴ综合色| 欧美福利电影网| 黑人巨大精品欧美黑白配亚洲| 在线精品视频免费观看| 日韩成人精品视频| 久久国产免费| 天堂久久久久va久久久久| 亚洲一区二区精品在线观看| 伊人开心综合网| 制服诱惑一区二区| 亚洲伦理在线免费看| 永久91嫩草亚洲精品人人| 国产精品少妇自拍| 欧美日韩精品不卡| 国产精品色哟哟| 极品中文字幕一区| 亚洲欧洲制服丝袜| 亚洲欧洲精品一区| 亚洲黄色性网站| 在线亚洲伦理| 亚洲一区在线观看免费观看电影高清| 亚洲日韩视频| 亚洲综合区在线| 久久久久久久久一区二区| 日韩av电影免费观看高清完整版在线观看 | 亚洲精品一区二区三区av| 国产精品第五页| 亚洲日本无吗高清不卡| 亚洲自拍都市欧美小说| 色婷婷国产精品综合在线观看| 日韩电影在线观看电影| 欧美日韩精品福利| 国产成人av一区| 亚洲精品在线观| 欧美日韩精品一本二本三本| 亚洲视频小说图片| 欧美亚洲一区二区三区| 日本人妖一区二区| 欧美美女网站色| 99视频有精品| 1000精品久久久久久久久| 亚洲一区观看| 美国十次综合导航| 日韩一区二区在线观看| 91热门视频在线观看| 日韩一区在线免费观看| 免费亚洲电影| 九色|91porny| 久久久精品综合| 亚洲欧洲一级| 久久国产福利国产秒拍| 久久影院电视剧免费观看| 精品91久久久久| 爽好多水快深点欧美视频| 51精品久久久久久久蜜臀| 暖暖成人免费视频| 亚洲午夜视频在线观看| 欧美日韩一级黄| 91麻豆swag| 亚洲一区二区三区四区在线| 欧美色图12p| 欧美二区在线| 午夜成人免费电影| 日韩免费福利电影在线观看| 黑人一区二区| 免费观看久久久4p| 精品国产第一区二区三区观看体验| 一区在线免费| 免费成人av资源网| 337p日本欧洲亚洲大胆色噜噜| 亚洲三级电影在线观看| 极品美女销魂一区二区三区| 国产精品色婷婷久久58| 在线视频一区二区免费| av毛片久久久久**hd| 亚洲线精品一区二区三区| 欧美一区二区三区影视| 亚洲调教视频在线观看| 蜜桃av噜噜一区| 国产亚洲精品福利| 蜜桃av综合| 99久久精品免费看国产免费软件| 亚洲一区在线观看网站| 日韩无一区二区| 国产欧美日韩一区二区三区在线 | 亚洲欧美日韩久久精品| 欧美日韩视频在线观看一区二区三区| 成人免费视频app| 亚洲精品成人精品456| 欧美精品一二三| 日韩午夜黄色| 高清shemale亚洲人妖| 亚洲综合一区在线| 日韩精品一区二区三区视频在线观看| 国产精品日韩一区二区三区| 粉嫩绯色av一区二区在线观看| 一区二区免费看| 精品国产91亚洲一区二区三区婷婷 | 蜜臀av性久久久久蜜臀aⅴ| 欧美国产欧美亚州国产日韩mv天天看完整 | 国精产品一区一区三区mba视频| 国产欧美精品一区二区色综合朱莉| 色婷婷av一区二区三区gif| 欧美精品二区| 看电影不卡的网站| 综合亚洲深深色噜噜狠狠网站| 欧美福利一区二区| 国模一区二区三区| 国产福利电影一区二区三区| 亚洲第一在线综合网站| 久久久精品免费免费| 欧美色男人天堂| 亚洲欧美日韩在线观看a三区 | 国产蜜臀av在线一区二区三区| 91国偷自产一区二区三区观看 | 精品9999| 不卡欧美aaaaa| 看电视剧不卡顿的网站| 亚洲免费观看高清完整版在线观看 | 欧美一区二区在线| 国产在线国偷精品产拍免费yy| 亚洲一区二区在线视频| 国产亚洲一二三区| 欧美日韩久久久| 国产视频久久| 精品69视频一区二区三区Q| 丁香一区二区三区| 麻豆国产欧美日韩综合精品二区| 亚洲精品免费在线观看| 欧美激情一区在线观看| 欧美大肚乱孕交hd孕妇| 欧美日韩中文字幕一区| 国产精品一区二区欧美| 亚洲韩日在线| 欧美日韩免费观看一区=区三区| 丁香婷婷综合五月| 久久丁香综合五月国产三级网站| 亚洲成a人片综合在线| 亚洲精品欧美激情| 一色桃子久久精品亚洲| 国产拍揄自揄精品视频麻豆| 精品日韩一区二区| 91精品国产欧美一区二区| 欧美日韩在线一区二区| 色偷偷成人一区二区三区91| 国产亚洲成人一区| 黄色av日韩| 欧美日本不卡高清| 91猫先生在线| 99在线视频精品| 成人h精品动漫一区二区三区| 国产一区二区三区日韩| 蜜桃91丨九色丨蝌蚪91桃色| 视频一区国产视频| 天天影视色香欲综合网老头| 日韩精品久久理论片| 五月激情综合色| 五月天视频一区| 午夜久久久久久| 日韩高清不卡一区| 丝袜美腿高跟呻吟高潮一区| 午夜精品久久久久久久久久久 | 国产精品水嫩水嫩| 中文子幕无线码一区tr| 国产日本亚洲高清| 久久久高清一区二区三区| 精品福利二区三区| 欧美mv和日韩mv的网站| 日韩视频在线你懂得| 欧美一级高清大全免费观看| 欧美一级黄色录像| 欧美成人一级视频| 精品999在线播放| 日韩欧美国产小视频| 精品国产免费一区二区三区香蕉| 久久人人爽爽爽人久久久| 久久一夜天堂av一区二区三区| 欧美精品一区二区三区蜜臀| 久久天堂av综合合色蜜桃网| 国产视频不卡一区| 1区2区3区精品视频| 夜夜嗨av一区二区三区四季av| 亚洲国产毛片aaaaa无费看| 日本欧美在线看| 国产精品亚洲综合一区在线观看| av欧美精品.com| 国内成+人亚洲| 99精品视频免费观看|