Java-Web之Http协议的验证(Http响应头)

  (1)302+location=重定向

//服务端通知客户端重定向
        response.setStatus(302);
        //服务端通知客户端重定向的目标资源
        response.setHeader("location","/day05/index.html");                                                                             
  (2)content-encoding:gzip(使用压缩格式的内容)
       content-length:30(压缩内容长度)
       GZIPOutputStream->ByteArrayOutputStream
 String data = "qwertyuioplkjhgfdsazxcvbnm";
        System.out.println("压缩前" + data.length());
        
        //以下代码完成将String类型压缩到byte[]中
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        GZIPOutputStream gout = new GZIPOutputStream(bout);
        gout.write(data.getBytes());
        gout.flush();
        gout.close();        
        //取出压缩后的数据
        byte[] buf = bout.toByteArray();
        System.out.println("压缩后" + buf.length);        
        //将压缩后的数据输出到浏览器
        response.setHeader("content-encoding","gzip");
        response.setHeader("content-length",buf.length+"");    
        //服务端以字节方式输出
        response.getOutputStream().write(buf);                                                                           
  (3)content-type:(打开文件的类型)
    
//通知浏览器打开一副图片
        response.setHeader("content-type","image/jpeg");    
        InputStream is = new FileInputStream(new File("d:\\d1.jpg"));
        OutputStream os = response.getOutputStream();
        byte[] buf = new byte[1024];
        int len = 0;
        while( (len=is.read(buf))>0 ){
            os.write(buf,0,len);
        }
        is.close();
        os.close();                                                                           
  (4)content-disposition:(下载文件)
//服务端通知浏览器以下载的方式打开图片
        response.setHeader("content-disposition","attachment;filename=d1.jpg");
        InputStream is = new FileInputStream(new File("d:\\d1.jpg"));
        OutputStream os = response.getOutputStream();
        byte[] buf = new byte[1024];
        int len = 0;
        while( (len=is.read(buf))>0 ){
            os.write(buf,0,len);
        }
        is.close();
        os.close();                                                                           
  (5)refresh:控制浏览器刷新
//服务端通知浏览器3秒后转到目标页面
        response.setHeader("refresh","3;url=/day05/index.html");                                                                           
  (6)expires:-1或cache-control:no-cache或program:no-cache(禁止浏览器缓存)
//服务端控制各种浏览器禁止缓存页面资源
        response.setHeader("expires","-1");
        response.setHeader("cache-control","no-cache");
        response.setHeader("pragma","no-cache");      
        //服务端向浏览器输出内容
        response.getWriter().write("haha");                                                                           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值