nginx 压缩和缓存
网页设计通过具有丰富界面的创新性不断增强,该界面涉及诸如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应用程序性能而言,缓存和压缩是最重要的任务。 我们可以使用免费和开放源代码的附加项目在您的应用程序中使用。
翻译自: https://www.javacodegeeks.com/2013/05/improve-performance-by-caching-and-compression.html
nginx 压缩和缓存