我们的应用中有几个功能是定时刷新,每分钟发起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
分享到:
相关推荐
6. **保存并激活更改**:完成配置后,别忘了保存更改,并重新启动WebLogic Server或应用,以使更改生效。 在提供的压缩包文件中,我们看到`.classpath`和`.project`是Eclipse项目的配置文件,它们包含了项目依赖和...
别忘了处理好目录结构,确保解压后文件的正确位置。 五、在线下载 生成ZIP文件后,通过设置HTTP响应头,可以触发浏览器的下载行为。例如,设置"Content-Type"为"application/zip","Content-Disposition"为...
在IT领域,网络通信是应用程序之间交互的重要方式,而HTTP(超文本传输协议)作为互联网上应用最广泛的一种网络协议,被广泛应用于数据传输。在本文中,我们将深入探讨如何使用Qt库在C++环境中实现简单的HTTP POST...
在IT行业中,图片处理是一项非常重要的任务,尤其是在网站开发、移动应用和社交媒体平台等领域。本篇文章将详细讨论如何通过jQuery插件实现图片截取、图片服务器的构建以及跨域上传等关键技术。 首先,我们来关注...
// 获取并处理服务器响应的数据 String responseBody = response.body().string(); } }); ``` 五、安全考虑 在实际应用中,为了保护用户隐私和数据安全,通常会使用HTTPS协议,同时在服务器端和客户端之间交换...
在Java web开发中,HTTPServletResponse是用于服务器向客户端发送响应的重要接口。当涉及到文件下载时,我们通常会利用HTTP响应的输出流将文件内容发送到客户端。以下将详细讲解如何使用HttpServletResponse返回流...
最后,别忘了在服务器端配置好跨域请求(CORS),如果需要的话,以确保前端与后端的通信不受限制。 综上所述,jQuery Autocomplete结合PHP可以实现动态的、基于服务器的自动补全功能。通过前端的JavaScript配置和...
"别忘了更改JDK版本"提示我们,项目可能依赖特定版本的Java Development Kit(JDK),JDK是Java编程的基础,包含编译器、运行时环境以及各种工具。因此,在运行项目前,需要确保本地安装的JDK版本与项目需求一致,以...
完成请求后,别忘了关闭数据流和连接以释放资源。在J2ME中,资源管理非常重要,因为移动设备的内存有限。 6. **J2ME的限制**: 需要注意的是,J2ME的网络功能受到设备的限制,可能无法支持大文件上传或长连接。...
在完成所有文件的打包和写入后,别忘了关闭ZipOutputStream和相关的输入流,以释放资源。 在JSP页面上,你可以创建一个表单让用户选择要下载的文件,或者通过JavaScript、AJAX等方式异步提交文件列表到Servlet。...
HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。以下是关于HTTP请求、图片处理、IO流操作以及相关工具包的详细知识: 1. **HTTP请求**: - **...
别忘了使用`source ~/.bashrc`或`source ~/.bash_profile`使更改生效。 4. **启动和停止Tomcat**:你可以使用bin目录下的startup.sh和shutdown.sh脚本启动和停止Tomcat服务。 5. **配置服务器**:修改$CATALINA_...
5. **释放资源**:最后,别忘了释放资源,避免内存泄漏。 ```java EntityUtils.consume(entity); httpClient.getConnectionManager().shutdown(); ``` 在实际开发中,考虑到HttpClient的维护和兼容性问题,...
5. **错误处理**:同时,别忘了考虑错误处理,确保在Ajax请求失败时有适当的反馈机制。 6. **优化性能**:使用Ajax时,需要注意避免不必要的请求,优化网络传输,如使用GZIP压缩,合并CSS和JS文件等。 通过这种...
- `http`:包含全局HTTP指令,如开启GZIP压缩,设置客户端最大上传大小,以及服务器响应头和连接超时时间。 - `server`:定义虚拟主机,包括监听端口、服务器名称、SSL配置等。 5. **启动和管理Nginx** 安装完成...
在开发移动端应用时,Vue.js 结合 Vant UI 框架是一个常见选择,因为它们提供了高效的组件化...在实际开发中,别忘了考虑错误处理和用户体验优化,比如进度反馈和错误提示,以确保用户能够顺利地上传和管理他们的图片。
同时,别忘了在响应中返回一个状态码或消息,以便Android客户端知道上传是否成功。 为了调试和测试,你可以参考提供的博客链接:http://blog.csdn.net/qq964166471/article/details/19073761。这个博客详细介绍了...
- **关闭连接**:完成通信后,别忘了关闭Socket和相关的输入/输出流,以释放资源。 3. **Java服务端编程** - **创建ServerSocket**:服务端需要创建一个ServerSocket,监听特定端口,等待客户端的连接请求,如`...
别忘了为站点添加默认文档,以便用户可以直接访问首页。 3.2 数据库连接 确保平台能够连接到数据库服务器,配置正确的连接字符串,并测试数据库连接是否成功。 3.3 安全设置 安装防火墙规则,限制不必要的入站和出...