您的位置:首页 > 理论基础 > 计算机网络

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

2018-02-03 21:50 483 查看
  (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();

    
a003
    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");                                                                           
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: