spring boot 下 开启 gzip
【参考文章】:Spring boot开启Gzip压缩
【参考文章】:Accept-Encoding
Spring 版本 :5.1.2-RELEASE
1. application.yml 配置
server:
compression:
enabled: true
mime-types: text/html, text/xml, text/plain,text/css, text/javascript, application/javascript, application/json,application/xml
min-response-size: 2048
2. gzip
gzip是一种编码格式;
它是在一个文本文件中找出类似的字符串, 并临时替换他们,使整个文件变小。这种形式的压缩对Web来说非常适合, 因为HTML和CSS文件通常包含大量的重复的字符串,例如空格,标签等;
HTTP 中的编码只针对于消息主体,头部信息始终以 ASCII 文本传输;
2.1 请求头
Accept-Encoding:gzip,deflate
Accept-Encoding 请求首部表明客户端支持哪些压缩的编码格式,用来进行内容编码格式的协商;
2.2 响应头
Content-Encpding:gzip
Content-Encpding 响应首部表明服务端对消息主体实际采用的编码格式;
请求首部中包含 Accept-Encoding 信息时,只是表明客户端支持这些编码格式,并不强制要求服务端必须采用其中一种编码格式,即服务端可以不对消息主体进行压缩;
如果服务端支持客户端其中一种或多种的压缩格式:
若选择其中一种格式进行压缩,则在响应头部表明自己使用的压缩格式;
若没有对消息主体进行压缩,则在响应头中不添加 Content-Encpding 信息即可;
如果服务端不支持客户端的所有压缩格式,则对消息主体不进行压缩,且在响应头中不添加 Content-Encpding 信息即可;
是否采用压缩算法要根据实际情况考虑,比如服务器的计算能力,数据的实际类型等等。
比如 JPEG这种类型的图片已经是经过高度压缩的文件了,再进行压缩也不会使数据变小,就没有必要进行压缩操作了。
如果文章对您有所帮助,可以点一下推荐