`

别忘了打开应用服务器的http响应压缩

阅读更多
我们的应用中有几个功能是定时刷新,每分钟发起ajax请求从后台获取数据。

现在的问题是response实在是太大了,response最大的一个是400k。这种数据量,网络肯定难以承受。

因此考虑使用gzip、deflate压缩,前提是客户端支持,当然现在主流浏览器都支持。其他客户端不好说。。

一般有两种做法:
1、使用应用服务器自带的压缩功能;
2、自己写一个filter,在web.xml注册,拦截响应的请求。

第一个当然最简单啦。对tomcat来说:

在Connector中添加如下属性


compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/css,text/javascript,text/plain,text/json,application/json,application/javascript,application/x-www-form-urlencoded"


响应头的变化如下:
响应头信息原始头信息
Content-Type     application/json;charset=UTF-8
Date     Sun, 07 Apr 2013 09:23:32 GMT
Server     Apache-Coyote/1.1
Transfer-Encoding     chunked


响应头信息原始头信息
Content-Encoding     gzip
Content-Type     application/json;charset=UTF-8
Date     Sun, 07 Apr 2013 09:36:54 GMT
Server     Apache-Coyote/1.1
Transfer-Encoding     chunked
Vary     Accept-Encoding


400k+的response变成40k+了。


关于HttpClient

使用HttpClient从后台获取数据,也可以这么做。不过拿到数据之后要自己写代码unzip。

tomcat的配置:http://tomcat.apache.org/tomcat-7.0-doc/config/http.html


分享到:
评论

相关推荐

    WebLogic的GZip压缩

    6. **保存并激活更改**:完成配置后,别忘了保存更改,并重新启动WebLogic Server或应用,以使更改生效。 在提供的压缩包文件中,我们看到`.classpath`和`.project`是Eclipse项目的配置文件,它们包含了项目依赖和...

    asp无组件目录压缩,非winrar支持

    别忘了处理好目录结构,确保解压后文件的正确位置。 五、在线下载 生成ZIP文件后,通过设置HTTP响应头,可以触发浏览器的下载行为。例如,设置"Content-Type"为"application/zip","Content-Disposition"为...

    Qt实现简单的Http Post数据传输

    在IT领域,网络通信是应用程序之间交互的重要方式,而HTTP(超文本传输协议)作为互联网上应用最广泛的一种网络协议,被广泛应用于数据传输。在本文中,我们将深入探讨如何使用Qt库在C++环境中实现简单的HTTP POST...

    图片截取和图片服务器

    在IT行业中,图片处理是一项非常重要的任务,尤其是在网站开发、移动应用和社交媒体平台等领域。本篇文章将详细讨论如何通过jQuery插件实现图片截取、图片服务器的构建以及跨域上传等关键技术。 首先,我们来关注...

    Android端使用get post 方法提交数据到服务器demo

    // 获取并处理服务器响应的数据 String responseBody = response.body().string(); } }); ``` 五、安全考虑 在实际应用中,为了保护用户隐私和数据安全,通常会使用HTTPS协议,同时在服务器端和客户端之间交换...

    java httpServletResponse返回流进行 下载 - 姐呵呵博客专栏 - CSDN博客1

    在Java web开发中,HTTPServletResponse是用于服务器向客户端发送响应的重要接口。当涉及到文件下载时,我们通常会利用HTTP响应的输出流将文件内容发送到客户端。以下将详细讲解如何使用HttpServletResponse返回流...

    jquery autocomplete php应用

    最后,别忘了在服务器端配置好跨域请求(CORS),如果需要的话,以确保前端与后端的通信不受限制。 综上所述,jQuery Autocomplete结合PHP可以实现动态的、基于服务器的自动补全功能。通过前端的JavaScript配置和...

    java语言 bs端实现简单的即时聊天源码

    "别忘了更改JDK版本"提示我们,项目可能依赖特定版本的Java Development Kit(JDK),JDK是Java编程的基础,包含编译器、运行时环境以及各种工具。因此,在运行项目前,需要确保本地安装的JDK版本与项目需求一致,以...

    http j2me 图片上传

    完成请求后,别忘了关闭数据流和连接以释放资源。在J2ME中,资源管理非常重要,因为移动设备的内存有限。 6. **J2ME的限制**: 需要注意的是,J2ME的网络功能受到设备的限制,可能无法支持大文件上传或长连接。...

    Servlet实现多文件批量下载

    在完成所有文件的打包和写入后,别忘了关闭ZipOutputStream和相关的输入流,以释放资源。 在JSP页面上,你可以创建一个表单让用户选择要下载的文件,或者通过JavaScript、AJAX等方式异步提交文件列表到Servlet。...

    个人总结HTTP请求

    HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。以下是关于HTTP请求、图片处理、IO流操作以及相关工具包的详细知识: 1. **HTTP请求**: - **...

    apache-tomcat-8.5.29

    别忘了使用`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。 4. **启动和停止Tomcat**:你可以使用bin目录下的startup.sh和shutdown.sh脚本启动和停止Tomcat服务。 5. **配置服务器**:修改$CATALINA_...

    安卓网络通信

    5. **释放资源**:最后,别忘了释放资源,避免内存泄漏。 ```java EntityUtils.consume(entity); httpClient.getConnectionManager().shutdown(); ``` 在实际开发中,考虑到HttpClient的维护和兼容性问题,...

    ajax框架与struts框架最佳结合

    5. **错误处理**:同时,别忘了考虑错误处理,确保在Ajax请求失败时有适当的反馈机制。 6. **优化性能**:使用Ajax时,需要注意避免不必要的请求,优化网络传输,如使用GZIP压缩,合并CSS和JS文件等。 通过这种...

    Linux环境下如何安装配置Nginx.pdf

    - `http`:包含全局HTTP指令,如开启GZIP压缩,设置客户端最大上传大小,以及服务器响应头和连接超时时间。 - `server`:定义虚拟主机,包括监听端口、服务器名称、SSL配置等。 5. **启动和管理Nginx** 安装完成...

    vue +vant 适合手机端上传图片图片 实现了上传、压缩、旋转图片

    在开发移动端应用时,Vue.js 结合 Vant UI 框架是一个常见选择,因为它们提供了高效的组件化...在实际开发中,别忘了考虑错误处理和用户体验优化,比如进度反馈和错误提示,以确保用户能够顺利地上传和管理他们的图片。

    Android+struts2实现图片上传

    同时,别忘了在响应中返回一个状态码或消息,以便Android客户端知道上传是否成功。 为了调试和测试,你可以参考提供的博客链接:http://blog.csdn.net/qq964166471/article/details/19073761。这个博客详细介绍了...

    Android Socket编程

    - **关闭连接**:完成通信后,别忘了关闭Socket和相关的输入/输出流,以释放资源。 3. **Java服务端编程** - **创建ServerSocket**:服务端需要创建一个ServerSocket,监听特定端口,等待客户端的连接请求,如`...

    4安装部署步骤-郑州微厦.pdf

    别忘了为站点添加默认文档,以便用户可以直接访问首页。 3.2 数据库连接 确保平台能够连接到数据库服务器,配置正确的连接字符串,并测试数据库连接是否成功。 3.3 安全设置 安装防火墙规则,限制不必要的入站和出...

Global site tag (gtag.js) - Google Analytics