zoukankan      html  css  js  c++  java
  • tomcat gzip

    -----------

    HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人。

    -----------

    要使用gzip压缩功能,可以在Connector实例中加上如下属性:

    1) compression="on" 打开压缩功能
    2) compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
    3) noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩&<60;
    4) compressableMimeType="text/html,text/xml" 压缩类型


    修改完成后

    <Connector
    port="8080"               maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true"
          compression="on"
    compressionMinSize="2048"
    noCompressionUserAgents="gozilla,traviata" 
    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />

    package net.jweb.common.util;
    
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.methods.GetMethod;
    
    /**
     * HTTP客户端测试类
     * 
     * @author liudong
     */
    public class HttpTester {
    
        /**
         * @param args
         */
        public static void main(String[] args) throws Exception {
            HttpClient http = new HttpClient();
            GetMethod get = new GetMethod("http://172.20.1.52:6800/templates/blue/css/global.css");
            try {
                get.addRequestHeader("accept-encoding", "gzip,deflate");
                get.addRequestHeader("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)");
                int er = http.executeMethod(get);
                if (er == 200) {
                    System.out.println(get.getResponseContentLength());
                    String html = get.getResponseBodyAsString();
                    System.out.println(html);
                    System.out.println(html.getBytes().length);
                }
            } finally {
                get.releaseConnection();
            }
        }
    
    }

    参考:

    http://www.cnblogs.com/wenanry/archive/2011/02/23/1962131.html

     http://www.cnblogs.com/wenanry/archive/2011/02/23/1962131.html

    http://www.cnblogs.com/sunxucool/p/3140730.html

    http://www.cnblogs.com/huaf/archive/2011/08/21/2372998.html

  • 相关阅读:
    ES6展开运算符的10个用法
    用react脚手架新建项目
    第六章 组件 56 组件-组件中的data
    第六章 组件 55 组件-使用components定义私有组件
    第六章 组件 54 组件-创建组件的方式3
    第六章 组件 53 组件-创建组件的方式2
    第六章 组件 52 组件-创建组件的方式1
    第六章 组件 51 组件化和模块化的区别以及组件的定义方式
    第五章 动画 50 动画-transition-group中appear和tag属性的作用
    第五章 动画 49 动画-实现列表删除和删除时候的动画效果
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/4970855.html
Copyright © 2011-2022 走看看