日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

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

瀏覽:15日期: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
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲一级在线| 亚洲天堂资源| 91精品91| 亚洲精品国产偷自在线观看| 亚洲一级影院| 天堂成人国产精品一区| 亚洲欧美日韩国产一区二区| 日韩中文字幕1| 亚洲一区二区三区四区五区午夜 | 激情综合激情| 欧美精品黄色| 日本综合精品一区| 久久亚州av| 亚洲国产一区二区三区在线播放 | 深夜视频一区二区| 亚洲精品在线观看91| 视频一区欧美日韩| 麻豆国产欧美一区二区三区| 蜜桃av在线播放| 97精品国产99久久久久久免费| 久热综合在线亚洲精品| 日韩在线二区| 欧美在线影院| 国产午夜久久av| 日韩av二区| 丝袜亚洲精品中文字幕一区| 日韩1区2区日韩1区2区| 久久精品欧洲| 石原莉奈在线亚洲三区| 国产专区精品| 中文字幕免费一区二区| 国产一区二区三区91| 欧美va天堂在线| 国产亚洲久久| 欧美午夜精彩| 日韩中文字幕区一区有砖一区 | 在线精品视频一区| 你懂的国产精品| 久久亚洲风情| 欧产日产国产精品视频| 亚洲人妖在线| 久久久久久久久久久妇女| 国产日韩欧美三级| 国产亚洲福利| 精品一区视频| 蜜臀久久久99精品久久久久久| 精品中文在线| 日韩动漫一区| 久久午夜精品| 天堂网av成人| 免费日韩一区二区三区| 视频在线观看一区| 亚洲精品123区| 久久精品国产福利| 老鸭窝亚洲一区二区三区| 久久国产日本精品| 91亚洲一区| 精品国产乱码久久久久久1区2匹| 日韩精品乱码av一区二区| 日韩精品网站| 婷婷综合六月| 日韩综合精品| 精精国产xxxx视频在线野外| 韩日一区二区| 国产91在线播放精品| 精品一区二区三区中文字幕 | 亚洲特级毛片| 在线国产一区二区| 国产伊人精品| 狂野欧美性猛交xxxx| 91精品国产一区二区在线观看 | 日韩一区二区三区高清在线观看| 蜜桃一区二区三区在线| 日韩在线麻豆| 国产精品一区二区av日韩在线| 日本aⅴ免费视频一区二区三区| 亚洲一区二区三区在线免费| 午夜在线一区| 国产精品天天看天天狠| 国产精品13p| 欧美色图国产精品| 亚洲精品系列| 久久99国产精品视频| 国产精品成人a在线观看| 日韩欧美视频专区| 蜜桃伊人久久| 久久影视三级福利片| 欧美成人基地 | 午夜欧美在线| 亚洲精品在线国产| 欧美1区二区| 黑丝一区二区| 国产亚洲精品美女久久久久久久久久| 黑森林国产精品av| 亚洲精品亚洲人成在线观看| 成人综合一区| 免费人成在线不卡| 久久久亚洲欧洲日产| 欧美在线资源| 国产精品115| 欧美在线亚洲| 精品国产欧美日韩| 综合精品一区| 欧美国产91| 精品视频高潮| 青青国产精品| 亚洲一区二区成人| 国产伊人久久| 日本不卡一二三区黄网| 久久国产直播| 另类综合日韩欧美亚洲| 日本欧洲一区二区| 久久亚洲专区| 夜鲁夜鲁夜鲁视频在线播放| 国产精品毛片久久久| 影音先锋久久精品| 亚洲免费观看| 黄色亚洲精品| 久久精品123| 都市激情国产精品| 国产精品videossex久久发布 | 亚洲精品大片| 午夜在线播放视频欧美| 日韩不卡视频在线观看| 丰满少妇一区| 久久精品一区二区国产| 国产欧美日韩在线观看视频| 久久精品影视| 婷婷激情一区| 久久三级视频| 欧洲一区二区三区精品| 欧美国产先锋| 国产另类在线| 国产精品chinese| 18国产精品| 亚洲三级毛片| 久久成人精品| 综合日韩在线| 欧美日韩伊人| 国产精品毛片久久| 欧产日产国产精品视频| 日本一不卡视频| 久久精品在线| 美女久久99| 三级欧美韩日大片在线看| 久久青草久久| 欧美一区自拍| 国产一区二区三区自拍| 欧美一级久久| 精品视频自拍| 午夜欧美巨大性欧美巨大| 日本综合字幕| 亚洲精品在线二区| 日韩中文字幕一区二区三区| 四虎4545www国产精品| 久久影院一区二区三区| 国产精品美女在线观看直播| 日本免费一区二区视频| 日韩在线卡一卡二| 亚洲一卡久久| 免费日本视频一区| 中文字幕日韩亚洲| 快she精品国产999| 亚洲欧美在线综合| 亚洲黄页一区| 亚洲欧美日本国产专区一区| 日韩视频久久| 男女男精品视频网| 亚洲久久一区| 亚洲一级大片| 极品日韩av| 日本精品影院| 日韩中文字幕高清在线观看| 美女精品视频在线| 久久精品xxxxx| 国产精品入口久久| 牛牛精品成人免费视频| 国产精品久久久久毛片大屁完整版| 亚洲精品日韩久久| 青青草伊人久久| 久久先锋影音| 日韩精品免费视频一区二区三区 | 国产亚洲一区在线| 婷婷亚洲五月| 亚洲精品一二三区区别| 国产精品丝袜xxxxxxx| 视频一区视频二区中文字幕| 在线免费观看亚洲| 日韩精品久久久久久| 国产精品欧美三级在线观看| 日韩精品一区二区三区中文| 久久国际精品| 国产99在线| 亚洲欧美日韩精品一区二区| 婷婷五月色综合香五月| 国产伦一区二区三区| 欧美日韩视频网站| 视频一区二区三区在线| 国产欧美日韩精品一区二区免费| 国产91在线播放精品|