`
Junjiejkl
  • 浏览: 62644 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用gzip压缩流及Content-Encoding响应头

阅读更多
package cn.itcast.web.http;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Demo2 extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		
		
		String data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
		System.out.println("压缩前:" + data.length());
		
		ByteArrayOutputStream bout = new ByteArrayOutputStream();
		GZIPOutputStream gzip = new GZIPOutputStream(bout);
		gzip.write(data.getBytes());
		gzip.flush();
		gzip.close();
		//data压缩数据已经进入bout字节数组中了
		
		
		byte[] buf = bout.toByteArray();
		//取出来的数据,就是压缩后的数据
		System.out.println("压缩后:" + buf.length);
		
		//服务器传回数据的类型和长度
		response.setHeader("content-encoding","gzip");
		response.setHeader("content-length",buf.length+"");
		
		response.getOutputStream().write(buf);
	}
}
分享到:
评论

相关推荐

    IIS上启用Gzip压缩(HTTP压缩)

    本文将详细介绍如何在IIS(Internet Information Services)环境下实现Gzip压缩,以及其背后的原理与配置步骤。 #### HTTP压缩概述 HTTP压缩是一种在Web服务器和浏览器之间传输压缩文本内容的技术手段,通过采用...

    Http协议中关于Content-Length的解读.docx

    例如,在gzip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。 客户端可以通过以下规则来获取消息长度: 1. 如果响应码为1xx、204、304或者HEAD请求,则直接忽视消息实体内容。 2. ...

    gzip 压缩 三种方法

    在IT行业中,压缩技术是数据传输和存储时不可或缺的一部分,特别是在网络环境中,为了减少带宽消耗和加快网页加载速度,gzip压缩被广泛使用。本文将详细介绍如何在PHP环境中利用gzip进行数据压缩,涵盖两种服务器端...

    Go-Packagegzip是一个中间件为Macaron提供Gzip压缩响应

    当客户端浏览器支持 Gzip 压缩并且通过 Accept-Encoding 头部表明这一支持时,该中间件会自动对响应进行压缩,并将相应的 Content-Encoding 头部设置为 "gzip"。这样,浏览器接收到数据后就能正确解压并渲染页面。 ...

    Gzip压缩.docx

    3. 客户端接收到带有`Content-Encoding: gzip`头的响应后,会自动解压内容并正常渲染页面。 对于IIS 6.0服务器启用Gzip压缩的步骤如下: 1. 打开IIS管理器,右键点击“网站”选择“属性”,在“服务”选项卡中勾选...

    网页GZIP压缩检测例子-易语言

    - **检测GZIP**:检查`Content-Encoding`响应头,如果值为`gzip`,说明服务器返回的数据是GZIP压缩的。 - **解压数据**:如果检测到GZIP压缩,使用易语言的解压函数(可能需要借助第三方库或API)对数据进行解压。...

    java实现gzip ajax请求gzip压缩

    在处理Ajax请求时,后端可以将要返回的数据通过`compress`方法进行gzip压缩,然后设置到HTTP响应的`Content-Encoding`头为`gzip`。同时,响应体应设置为压缩后的字节数组。 对于前端的Ajax请求,JavaScript的...

    使用libcurl获取经过gzip压缩的网页文件

    对于HTTP协议,libcurl可以设置请求头来告知服务器客户端支持gzip压缩,这样服务器就会返回压缩过的响应数据。在接收数据时,libcurl会自动检测内容编码并进行解压,使得开发者可以像处理未压缩数据一样处理这些内容...

    IIS的Gzip压缩图文教程

    2. **服务器响应**: 如果服务器支持且启用了GZip压缩,它会在响应中应用相应的压缩算法,并在响应头中添加`Content-Encoding: gzip`以告知客户端已进行压缩。 3. **客户端解压**: 客户端收到压缩后的数据后,根据...

    iOS gzip压缩数据

    ASIHTTPRequest框架会自动检测HTTP响应头中的“Content-Encoding”字段,如果发现是gzip,它会自动解压响应数据。你可以在完成Block或代理方法中接收到未压缩的数据。 4. 使用GZipUtil工具类:在提供的压缩包中,有...

    php gzip 压缩js或css

    然后检查客户端是否支持`gzip`,如果支持,就添加`Content-Encoding: gzip`头信息。接着读取JS文件内容,使用PHP内置的`gzencode`函数进行压缩,并将压缩后的内容输出给浏览器。 请注意,虽然`Gzip`压缩可以显著...

    EhCache开启gzip压缩功能

    当数据经过Filter时,如果发现请求头中的`Accept-Encoding`字段包含`gzip`,则对数据进行压缩,并在响应头中添加`Content-Encoding: gzip`字段,告知客户端数据已被压缩。 2. **EhCache自带的压缩功能**:EhCache...

    开启TOMCAT6的GZIP压缩

    2. **编写测试脚本**:可以使用Java中的`HttpClient`库来模拟客户端请求,检查响应头中是否包含`Content-Encoding: gzip`。示例代码如下: ```java package com.liusoft.dlog4j.test; import org.apache....

    VC6 gzip 压缩解压 测试代码 使用gzip.dll

    服务器响应时,如果返回的数据是gzip压缩的,将在`Content-Encoding`头中设置`gzip`。 在VC6环境下,你还需要考虑错误处理,例如检查`gzopen()`、`gzwrite()`和`gzread()`的返回值,它们可能会返回NULL或负数来表示...

    Tomcat下,使用gzip压缩数据

    如果服务器成功启用了gzip压缩,你会在响应头的`Content-Encoding`字段看到"gzip"。 例如,如果你有一个名为`test.jsp`的页面,当你触发某个操作,比如调用`jnxzScreem`,并检查这个请求的响应,你会看到原始数据...

    Gzip工具打包JS、CSS文件,后台解压缩

    这个Filter会检查客户端是否接受Gzip压缩,如果接受,就对响应内容进行Gzip压缩,并设置适当的响应头。`GzipResponseWrapper`是一个自定义类,用于将压缩后的输出写入到`gzipOutputStream`。 **客户端支持** ...

    在传输层上压缩WebService的请求和响应

    服务器在接收到请求后,如果支持相应的压缩算法,会使用该算法压缩响应内容,并在`Content-Encoding`头部声明所使用的压缩方式。 对于服务器端,开发者可以配置Web服务器或应用服务器以自动对出站内容进行压缩。...

    MFC实现带压缩功能HTTP请求

    当服务器响应时,它可能会返回一个"Content-Encoding: gzip"头,表明响应已被GZIP压缩。此时,客户端需要解压数据,这可以通过CInternetStream或自定义的解压逻辑来完成。 **处理压缩数据** 在MFC中,可以使用zlib...

    js压缩gzip格式

    在服务器端,gzip可以与HTTP响应头的"Content-Encoding"字段一起使用,告知浏览器接收到的数据是经过gzip压缩的。浏览器则会自动解压这些数据,然后正常执行JavaScript代码。 在使用gzip之前,需要确保服务器支持...

    GZIP很多网站要求用GZIP压缩

    2. **HTTP头部设置**:为了启用GZIP压缩,服务器需要在HTTP响应头中包含`Content-Encoding: gzip`字段,告知浏览器数据是经过GZIP压缩的。同时,浏览器在请求头中可以发送`Accept-Encoding: gzip`,表示支持接收GZIP...

Global site tag (gtag.js) - Google Analytics