Cookie学习

来源:互联网 发布:matlab svd 算法 编辑:程序博客网 时间:2024/06/05 18:48
 Cookie:
      1.Cookie是什么?Cookie作用?
          -翻译过来:曲奇饼干
          -Coonie可以保存会话状态,但是这个会话状态保留在客户端上的。
          -只要Cookie清除,或者Cookie失效,这个会话状态就没有了。
          -Cookie是保存在浏览器客户端上的
          -Cookie可以保存在浏览器的缓存中,浏览器关闭Cookie消失
          -Cookie也可以保存在客户端的硬盘上浏览器关闭Cookie还是存在,除非Cookie失效。
      2.Cookie只有在javaweb中有吗?
          -不只是在javaweb中存在,只要是B/S架构的系统,只要基于Http协议,就有Cookie存在,
          -Cookie这种机制是Http协议规定的
      3.Cookie实现的功能,常见有哪些?
          -保留购物车商品的状态在客户端上
          -十天内免登陆
          .....
      4.在java中Cookie被当做类来处理,使用new运算符可以创建Cookie对象,而且Cookie有两部分组成,
                    分别是Cookie的name和value,name和value都是字符串类型String。
      5.在java程序中创建Cookie?
      Cookie cookie=new Cookie(String cookieName,String cookieValue)
      6.浏览器可以一次向浏览器发送多个Cookie
      7.默认情况下,服务器发送Cookie给浏览器之后,浏览器将Cookie保存到缓存当中,只要浏览器不关闭,Cookie永远有效
                    当浏览器关闭之后,缓存中的Cookie被清除。
      8.在浏览器客户端无论是硬盘文件还是缓存中保存Cookie,什么时候会再次发送给服务器?
        -浏览器会不会提交发送这些Cookie给服务器,和请求路径有关。
        -请求路径和Cookie是紧密相连的。
        -不同的请求路径会发送提交不同的Cookie
      9.默认情况下Cookie会和什么路径绑定在一起?
           -其实路径是可以指定的,通过java程序进行设置,保证Cookie和某个特定的路径绑定在一起
                         假设执行了这样的程序:cookie.setPath("/prj-servlet-18/king");
                         那么:Cookie将和"//prj-servlet-18/king"路径绑定在一起。
                         只有发送/prj-servlet-18/king这个路径,浏览器才会提交Cookie给服务器。
       10.默认情况下,没有设置Cookie的有效时长,该Cookie被默认保存在浏览器的缓存中,只要浏览器不关闭Cookie就存在
                        只要关闭浏览器Cookie就消失,我们可以通过设置Cookie的有效时常,以保证Cookie保存在硬盘文件中,但这个有效时常必须大于
          0的。
          Cookie有效时常=0,直接被删除
          cookie有效时常<0,无效
          cookie有效时间>0,被保存在硬盘文件中
          cookie。setMaxAge(int arg0);
        11.浏览器提交Cookie给服务器,服务器怎么接受?
        Cookie[] cookies=request.getCookies();
        //从request对象中获取所有提交的Cookie
        Cookie[] cookies=request.getCookies();
        if(cookies!=null){
            for(Cookie cookie:cookies){
                String cookieName=cookie.getName();
                String cookieValue=cookie.getValue();
                System.out.println(cookieName+"="+cookieValue);
        12.浏览器是可以禁用Cookie的
           -代表服务器发送过来的Cookie,浏览器不接受。
           -服务器还是会发送的Cookie只是浏览器不接受
0 0
原创粉丝点击