servlet 中response.setHeader设置response HTTP 头失效问题解决

项目中需要在 servlet处理以后,将返回的内容进行gzip打包传输。

然后顺其自然的写成

 

for example:

byte [] b = {......};

 

response.getOutputStream().write(b);

response.setHeader("Content-Type","application/gzip");

response.setHeader("Content-Encoding","gzip");

response.setStatus(200);

 

但是进行抓包测试返回的结果,Content-Type以及Content-Encoding都没有设置起作用。

 

后来调整了一下输出顺序,就OK了。

byte [] b = {......};

 

response.setHeader("Content-Type","application/gzip");

response.setHeader("Content-Encoding","gzip");

response.getOutputStream().write(b);

response.setStatus(200);

 

其实就是先设置返回的内容类型,才可以。不然就默认text/html了。

 

你可能感兴趣的:(servlet 中response.setHeader设置response HTTP 头失效问题解决)