使用GZIP压缩接口的报文,达到节省流量的目的。

GzipUtil 压缩和加压工具

/**
	 * 压缩字符串
	 * @param str
	 * @param charest
	 * @return
	 * @throws IOException
	 * @throws UnsupportedEncodingException
	 */
	public static byte[] compress(String str,String charset) throws IOException, UnsupportedEncodingException {
		Assert.notNull(str, " null compress error ");
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		GZIPOutputStream gzip = new GZIPOutputStream(out);
		try{
			gzip.write(str.getBytes(charset));
			gzip.close();
			return  out.toByteArray();
		}catch(Exception e){
			throw new IOException(e);
		}finally{
			FileUtil.close(gzip);
			FileUtil.close(out);
		}
	}
/**
	 * 解压缩字符串
	 * @param str
	 * @param charest
	 * @return
	 * @throws IOException
	 * @throws UnsupportedEncodingException
	 * @throws FileNotFoundException
	 */
	public static byte[] uncompress(InputStream in)throws IOException, UnsupportedEncodingException,FileNotFoundException {
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		GZIPInputStream gunzip = new GZIPInputStream(in);
		try{
			byte[] buffer = new byte[256];
			int n;
			while ((n = gunzip.read(buffer)) >= 0) {
				out.write(buffer, 0, n);
			}
			return out.toByteArray();
		}catch(Exception e){
			throw new IOException(e);
		}finally{
			FileUtil.close(out);
			FileUtil.close(gunzip);
			FileUtil.close(in);
		}
	}

controller压缩数据后 使用HttpServletResponse response 输出数据

byte[] _byte=GzipUtil.compress(json,"UTF-8");
response.getOutputStream().write(_byte);
response.getOutputStream().flush();
response.getOutputStream().close();

使用GZIP压缩接口的报文,达到节省流量的目的。,布布扣,bubuko.com

时间: 2024-10-24 23:29:29

使用GZIP压缩接口的报文,达到节省流量的目的。的相关文章

Linux gzip压缩输出

一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4. Gzip主要用于Unix系统的文件压缩.我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的.现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式. 当应用Gzip压缩到一个纯

【Web优化】Yslow优化法则(四)启用Gzip压缩

Yslow的第4个经验法则指出:启用gzip压缩功能,能够降低HTTP传输的数据和时间,从而降低client请求的响应时间. 本篇是Yslow法则的第四个,主要包含三个方面的内容: 1.      什么是gzip 2.      gzip与HTTP 3.      nginx启用gzip 什么是gzip? Gzip最早出如今Unix系统中,是GNU的文件压缩工具.我们今天所说的Gzip,并非特指Linux/Unix中的压缩工具,而是指HTTP中普遍使用的内容编码格式(内容编码,这里指的是内容的压

apache php gzip压缩输出的实现方法

一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4. Gzip主要用于Unix系统的文件压缩.我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的.现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式. 当应用Gzip压缩到一个纯

[转]PHP通过zlib扩展实现GZIP压缩输出

1. GZIP介绍 GZIP是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.GZIP主要用于Unix系统的文件压缩,我们经常看到的后缀为.gz的文件,它们就是GZIP格式的.GZIP的压缩效果比较明显,应用Gzip压缩网页时,网页可以压缩30%甚至更多. HTTP协议上的GZIP编码是一种用来改进WEB:应用程序性能的技术,Web开发中通过GZIP压缩页面来降低网站的流量,而且GZIP不会占用很多CPU.总体来考虑,启用GZIP还是非常划算的.通

nginx(七)gzip压缩功能

**ngx_http_gzip_module模块配置** gzip on|off;启用或禁用gzip压缩响应报文: gzip_comp_level level;压缩比,1-9,默认为1: gzip_disable regex...;regex是为用于匹配客户端响应器类型的正则表达式:表示对何种浏览器禁止使用压缩功能: gzip_min_length length;触发压缩功能的响应报文的最小长度: gzip_http_version 1.0/1.1;设定启用压缩功能时,协议的最小版本: gzip

005-优化web请求一-gzip压缩、http缓存控制和缓存校验[Pragma、Expires、Cache-Control、max-age、Last-Modified、用户刷新访问、避免过度304]

优化Web应用的典型技术:缓存控制头信息.Gzip.应用缓存.ETag.反应型技术[异步方法调用和WebSocket] 一.模板缓存 spring.thymeleaf.cache=true spring.messages.cache-duration= 二.Gzip压缩 Gzip是一种能够被浏览器直接理解的压缩算法.服务器会提供压缩响应,会耗一些cpu,但是减少带宽 GZIP压缩是一个经常被用到的WEB性能优化的技巧,它主要是对页面代码,CSS,Javascript,PHP等文件进行压缩,而且在

php简单开启gzip压缩方法(zlib.output_compression)

网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法.实际上每个php页面都要去加代码——当然也可以include引用,不过总显得略微麻烦 一般而言,页面文件开启gzip压缩以后,其体积可以减小60%~90%,对于文字类站点,可以节省下大量的带宽与用户等待时间.但是不论是iis还是apache默认都只压缩html类静态文件,对于php文件需要模块配置才可支持(iis7.5中开启动态+静态压缩也可以),于是利用php自身功能到达gzip的效果也成为一项合理的诉求. 网上的教程基本是你

13 nginx gzip压缩提升网站速度

一:nginx gzip压缩提升网站速度 我们观察news.163.com的头信息 请求: Accept-Encoding:gzip,deflate,sdch 响应: Content-Encoding:gzip Content-Length:36093 再把页面另存下来,观察,约10W字节,实际传输的36093字节 原因-------就在于gzip压缩上. 原理: 浏览器---请求----> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩 从http协议

开启Nginx的gzip压缩功能详解

默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行压缩传输,我们需要手动来调. 开启gzip的指令如下:  代码如下 复制代码 gzip on;gzip_http_version 1.0;gzip_disable "MSIE [1-6].";gzip_types text/plain application/x-javascript te