使用Gzip压缩数据,加快页面访问速度
一、代码
/** 向浏览器输出字符串响应数据,启用gzip压缩 */
protected void writeResponseDataStr(String data){
/** 获取响应对象 */
HttpServletResponse response = ServletActionContext.getResponse();
/** 设置响应内容类型 */
response.setContentType("text/html;charset=utf-8");
try {
/** 告诉浏览器,服务器响应的数据是用GZIP压缩的 */
response.setHeader("Content-Encoding", "gzip");
//GZIP压缩的原理是:将数据全部压缩进内存输出流中,再从将内存输出流中的数据输出
/** 创建内存输出流的容器 */
ByteArrayOutputStream bos = new ByteArrayOutputStream();
/** 创建GZIP压缩对象 */
GZIPOutputStream gzip = new GZIPOutputStream(bos);
/** 进行压缩 */
gzip.write(data.getBytes("utf-8"));
gzip.flush();
gzip.close();
/** 向浏览器输出响应数据 */
response.getOutputStream().write(bos.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
};
/** 向浏览器输出字符串响应数据,启用gzip压缩 */
protected void writeResponseDataStr(String data){
/** 获取响应对象 */
HttpServletResponse response = ServletActionContext.getResponse();
/** 设置响应内容类型 */
response.setContentType("text/html;charset=utf-8");
try {
/** 告诉浏览器,服务器响应的数据是用GZIP压缩的 */
response.setHeader("Content-Encoding", "gzip");
//GZIP压缩的原理是:将数据全部压缩进内存输出流中,再从将内存输出流中的数据输出
/** 创建内存输出流的容器 */
ByteArrayOutputStream bos = new ByteArrayOutputStream();
/** 创建GZIP压缩对象 */
GZIPOutputStream gzip = new GZIPOutputStream(bos);
/** 进行压缩 */
gzip.write(data.getBytes("utf-8"));
gzip.flush();
gzip.close();
/** 向浏览器输出响应数据 */
response.getOutputStream().write(bos.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
};
使用Gzip压缩数据,加快页面访问速度的更多相关文章
- Apache 使用gzip、deflate 压缩页面加快网站访问速度
Apache 使用gzip 压缩页面加快网站访问速度 介绍: 网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少. 原理 ...
- [技术博客]使用CDN加快网站访问速度
[技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...
- 利用curl并发来提高页面访问速度
在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个.顺序访问,假如有3个接口,每个接口耗时500毫 秒那么我们三个接口就要花费1500毫秒了,这个问题太头 ...
- 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度<转>
为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长 ...
- 2-12-配置squid代理服务器加快网站访问速度
本节所讲内容: squid服务器常见概念 squid服务器安装及相关配置文件 实战:配置squid正向代理服务器 实战:配置透明squid代理提升访问速度 实战:配置squid反向代理加速度内网web ...
- 【转】加快网站访问速度——Yslow极限优化
Yslow是一套雅虎的网页评分系统,详细的列出了各项影响网页载入速度的参数,这里不做多说. 我之前就一直参考Yslow做博客优化,经过长时间的学习也算是有所收获,小博的YslowV2分数达到了94分( ...
- ECshop网店系统百万级商品量性能优化-加快首页访问速度
如果ECshop的商品数达到几万,十几万的时候,如果首页没有缓存,第一次访问的时候,你会发现其慢无比,原因就是清空了Cache后或者没有Cache的情况下,ECshop会Bulid一些Cache数据, ...
- 浏览器提示ERR_CONTENT_DECODING_FAILED,Gzip压缩数据无法解压
最近在页面上有个显示数据表格的功能,数据由后台传给前台JS表格插件.数据格式为JSON 由于数据量很大,就想到用GZIP压缩以后传给前台.压缩前,某个表格的数据量达到3M多,用GZIP压缩后就200K ...
- Python—HTTP处理Gzip压缩数据
HTTP 请求中包含Accept-encoding: gzip头信息可以告诉服务器,如果它有任何新数据要发送给我时,请以压缩的格式发送.如果服务器支持压缩,它将返回由 gzip 压缩的数据并且使用Co ...
随机推荐
- SQLServer 学习笔记之超详细基础SQL语句 Part 9
Sqlserver 学习笔记 by:授客 QQ:1033553122 -----------------------接Part 8------------------- 3 范式的概念 第一范式的目标 ...
- Android HandlerThread和IntentService
HandlerThreadHandlerThread继承了Thread,它是一种可以使用Handler的Thread,它实现也很简单,就是在run中通过Looper.prepare()来创建消息队列, ...
- CSS 实例之滚动的图片栏
在一些网站上可以经常看到有一些图片进行持续不断的滚动,这个效果可以通过css的动画效果来实现.具体效果如下 主要原理是通过动画向左移动. 首先给出两组一样的图片(同一行上),让整体图片向左移动一组图片 ...
- windows 远程连接
* 方法1:windows自带的远程工具 缺点:如果操作系统是家庭版,会一致连接不上:尽管想办法把这个功能打开: 步骤: * 打开允许远程连接: 点进去自己设置就行,没有什么好说的 设置完之后,需要允 ...
- 【SPL标准库专题(9)】 Datastructures:SplObjectStorage
PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候. PHP SPL SplObjectStorage类实现了Countable,Iterator, ...
- sh: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录 FATAL ERROR: Neither host 'kvm' nor 'localhost' could be looked up with ./bin/resolveip Please configure the 'hostname'
初始化数据库报错: sh: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录FATAL ERROR ...
- Percona Xtradb Cluster的设计与实现
Percona Xtradb Cluster的设计与实现 Percona Xtradb Cluster的实现是在原mysql代码上通过Galera包将不同的mysql实例连接起来,实现了multi ...
- [SQLSERVER] 把TransactionLog截断
注意:以下语句非常危险 --BACKUP LOG MyDb TO DISK=’NUL:’
- 客户端连接caching-sha2-password问题
ALTER USER 'root'@'localhost' IDENTIFIED BY '123' PASSWORD EXPIRE NEVER;ALTER USER 'root'@'localhost ...
- python基础学习7----编码与解码
一.python2 python2中默认以ASCII编码 str='hello world' gbk_to_unicode=str.decode('gbk')#将gbk解码为unicode print ...