• HTTP 请求压缩的服务器内容


    从HTTP的角度

    1.  客户端 在http Request  Header上带上 Accept-Encoding:gzip,deflate

    2.  服务器若是支持gzip压缩则在http reponse header部分返回Content-Encoding: gzip 或者Content-Type: application/x-gzip

    3.  body部分用gzip解压缩 则得到网页内容.

    gzip是一种数据格式 默认且目前仅使用deflate算法压缩data部分

    zlib也是一种数据格式,使用defalte算法压缩数据部分.

    deflate是一种压缩算法,是huffman编码的一种加强

      

     
    Accept-Enoding: gzip,deflate              表示浏览器支持gzip

    Content-Encoding: gzip                     表示所请求的页面是通过gzip压缩传输的,服务器开启了gzip是一码事,在程序中使没使用是另外一回事。

     

    connection = getHttpConnection(urlString);
    connection.addRequestProperty("Accept-Encoding", "gzip,deflate");
    bufReader = new BufferedReader(new InputStreamReader( new GZIPInputStream(connection.getInputStream()), "GBK"));
    totalBytes = connection.getContentLength();
    String tmpLine = null;
    while ((tmpLine = bufReader.readLine()) != null) {
    bufStr.append(tmpLine);
    }

     

    即使服务器开启了gzip,如果在请求的头里面不加 ("Accept-Encoding", "gzip,deflate"),获取的流还是不压缩的。


     

     

  • 相关阅读:
    silverlight的TranslateTransform 的使用
    720 JavaScript函数的this指向
    JavaScript数组
    JavaScriptDOM事件
    JavaScript流程控制语句
    CSS布局案例
    JavaScriptDOM基础
    JavaScriptDOM事件
    JavaScript基础语法
    JavaScript的String对象相关方法
  • 原文地址:https://www.cnblogs.com/zijianlu/p/2279670.html
Copyright © 2020-2023  润新知