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了。