通过缓存和压缩提高性能

网页设计通过具有丰富界面的创新性不断提高,该界面涉及诸如Java脚本,css和图像等额外代码。大多数最终用户响应时间都与下载这些组件有关。http请求数量和响应大小的优化是改善Web应用程序性能的关键参数。

本文介绍了适用于任何Web应用程序以优化请求数和响应大小的缓存过滤器和压缩过滤器。

压缩内容Gzip Servlet过滤器


HTTP压缩是一种压缩从服务器传输到浏览器的内容的方法,可以减少http响应的大小。 HTTP / 1.1内置了这种基于标准的传递压缩内容的方法,并且所有现代Web浏览器都支持HTTP / 1.1协议,即它们可以在客户端浏览器上自动解码压缩文件。 您的信息越小,所有信息的发送速度就越快。 因此,如果压缩Web应用程序的内容,它将更快地显示在用户的屏幕上。

源代码:下载链接OpenWebOptimizer for Gzip Servlet过滤器源代码,以及示例代码和用法文档。

Gzip是目前最流行,最有效的压缩方法。 它是由GNU项目开发的,并由RFC 1952进行了标准化。Gzipping通常将响应大小减少约70%。

要添加Gzip过滤器,只需将以下代码添加到web.xml中,包括附加的Gzip过滤器

<filter>
<filter-name>GZIPFilter</filter-name>
<filter-class>com.opcat.gzip.GZIPFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>GZIPFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>]]>

HTTP Servlet缓存:

缓存减少了HTTP请求的数量,从而使网页速度更快。 Web应用程序生成浏览器内容,并且在许多情况下,内容在不同的请求之间不会改变,因此,如果可以缓存响应,则可以再次使用而无需HTTP请求,从而提高了Web应用程序的性能。 我们只需编写简单的缓存过滤器就可以实现缓存

源代码:下载链接OpenWebOptimizer for Caching Servlet过滤器源代码以及示例代码和用法文档。

缓存过滤器是指一个Servlet,它将拦截所有请求并将其缓存并具有有效的缓存副本。 过滤器将通过发送缓存内容的副本立即响应请求。 但是,如果不存在缓存,则过滤器会将请求传递到其预期的端点,并且将生成响应并将其缓存以供将来的请求使用。

要添加缓存过滤器,只需将以下代码添加到web.xml中

<filter>
<filter-name>jsCache</filter-name>
<filter-class>com.opcat.cache.CacheFilter</filter-class>
<init-param>
<param-name>private</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>expirationTime</param-name>
<!-- Change this to add the expiry time for re-validating the files -->
<param-value>0</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jsCache</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>

摘要

缓存和压缩过滤器可优化HTTP请求调用,内容大小和内容生成。 就Web应用程序性能而言,缓存和压缩是最重要的任务。 我们可以使用免费和开放源代码的附加项目在您的应用程序中使用。

参考: 通过 Tech My Talk博客的JCG合作伙伴 Nitin Kumar进行缓存和压缩提高性能

翻译自: https://www.javacodegeeks.com/2013/05/improve-performance-by-caching-and-compression.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值