zoukankan      html  css  js  c++  java
  • Cookie熟知

    Cookie能干什么

      会话(cookie,session)技术的一种.因为http协议是无状态的,每次都是基于一个请求一个响应.每次请求和响应都跟上次没有关系.我们需要记录之前对话信息.cookie技术.是属于客户端(浏览器)保存信息的技术.

    cookie怎么用?

      1.添加cookie到浏览器    

    1 //新建一个cookie(键值对)   
    2 Cookie cookie = new Cookie("name", "cat");
    3 //将cookie 添加到响应中
    4 response.addCookie(cookie);    

      2.浏览器发送cookie到服务器,如何取

     1 //获得所有浏览器发送的cookie
     2 Cookie[] cookies = request.getCookies();
     3 //遍历并判断我们要找的cookie
     4 if(cookies!=null && cookies.length>0){
     5   for(Cookie c : cookies){
     6     if(c.getName().equals("name")){
     7        System.out.println("获得的cookie:"+c.getName()+":"+c.getValue());
     8     }
     9   }
    10 }

    cookie原理.

      让浏览器记住键值对.是向响应头中添加一下头即可:
      set-Cookie:name=tom;
      浏览器记住之后,向服务器发送键值对,是在请求头中添加下面的信息:
      Cookie: name=tom;

    cookie细节问题:

    1.浏览器记多久?
         默认是在会话期间有效.(关闭浏览器,cookie就被删除).(有效时间-1)

    2.有效时间如何设置?

      //设置cookie的最大有效时间
      设置一个正数,标示最大有效时间.单位是秒
      cookie.setMaxAge(60*60);
      设置为-1 , 就是相当于默认有效时间, 浏览器关闭就消失.
      //cookie.setMaxAge(-1);
      标示cookie的有效时间为0.发送到浏览器就消失了.
      //利用有效时间为0 这件事,我们可以做删除cookie的操作.
      // 因为同一个路径 ,不能存在相同的cookie(键相同).
      // 我们可以通过覆盖的方式,设置有效时间为0. 删除cookie
      cookie.setMaxAge(0);

    3.浏览器在什么情况下发送cookie(路径)

      cookie的默认路径就是发送cookie的servlet所在目录.
      /myproject/servlet 
      /myproject/abc/xxxServlet 访问路径如果是cookie路径的子路径那么,浏览器就会把该cookie告诉服务器.

    4.cookie中的域

    想要以下三个 主机和主机下的项目能共享一个cookie.
      www.baidu.com
      music.baidu.com
      map.baidu.com
    完成两步即可:
      1.设置cookie的域为 ".baidu.com"
      2.设置cookie路径 为: "/"
    以上就是跨主机访问cookie.不常用.

  • 相关阅读:
    Netcat实用操作
    Golang的面向对象实践method
    将大数组里面的小数组平行展开的实现(Making a flat list out of list of lists in Python)
    bootstrap table表格加载本地数据
    扎职扎职扎职扎职扎职扎职扎职扎职扎职扎职扎职
    java使用poi导出excel防止数字变成科学计数法的形式
    element-ui中搜索框回车刷新页面问题的解决方法
    范式建模的理解
    svn去除java编译后文件配置
    java中使用sublist方法获取list集合的前1000条数据
  • 原文地址:https://www.cnblogs.com/hanwen1014/p/6874719.html
Copyright © 2011-2022 走看看