zoukankan      html  css  js  c++  java
  • javaWeb 基础知识

     cookie  深度解析:  http://blog.csdn.net/ghsau/article/details/20395681 

    cookie 的作用:

    利用存在客户端本地的缓存让无状态的服务器也能识别客户端;

    cookie 

    既可以被服务器都写 也可以的js脚本读写; 但如果设置了HttpOnly属性; 脚本将无法读写;

    javax.servlet.http.Cookie  这个类可以设置 设置cookie的名称、内容、作用路径、作用域、协议、生存周期,but不能设置HttpOnly属性 ; 
    但可以通过 响应头来 设置 httpOnly属性: response.setHeader("Set-Cookie", "cookiename=value;Path=/;Domain=domainvalue;Max-Age=seconds;HttpOnly"); 
    java Cookie 的创建:
    cookie的创建:
        Cookie cookie = new Cookie("test_key", "test_value");  
        cookie.setPath("/");  
       cookie.setDomain(".ghsau.com");  
        response.addCookie(cookie); 

    cookie的获取:

        // 输出cookies,过滤掉JSESSIONID  
        Cookie[] cookies = request.getCookies();  
        if(cookies != null)  {
            for(Cookie cookie : cookies) {  
                if(cookie.getName().equals("JSESSIONID"))    continue;  
                out.println(cookie.getName() + "-" + cookie.getValue());  
            }  
    }

    JavaScript  Cookie的创建:

    function setCookie(c_name, obj, expiredays) {
        var value = JSON.stringify(obj); // 如果穿进来是个对象;先将对象转换成json字符串;
        var exdate = new Date();
        if(expiredays == null )  expiredays = 31; //默认cookie保存 31天;
        exdate.setDate(exdate.getDate() + expiredays);
        document.cookie = c_name + "=" + escape(value) + ";expires=" + exdate.toGMTString();
    }

    cookie 与 域名的关系:

    1: cookie默认情况下作用域为当前域名

    2; cookie作用域为父级域名时,所有子级域名都可以得到该cookie

    3: cookie不能跨二级域名设置

    cookie 揭秘:  http://www.cnblogs.com/zhangziqiu/archive/2009/08/06/cookies-javascript-aspnet.html 

    cookie 是如何传递的?

    (1):页面 请求 ;  在请求一个页面的Http头中,会将属于此页面的本地Cookies信息加在Http头中 ;   

    Cookie: My.Common.TestCookieInfo=Pkid=999&TestValue=aaabbbcccdddeee 

    (2) 服务器响应: 如果页面写入Cookies信息,则返回的Http如下:

    Set-Cookie: My.Common.TestCookieInfo=Pkid=999&TestValue=aaabbbcccdddeee; expires=Fri, 07-Aug-2009 03:40:59 GMT; path=/ 

    cookie 的限制: 

    1: 大小: 4096 字节;

    2: 个数: 每个站点 20个; 最多约 300个 ;

    cookie的存储格式:

    1) js: document.cookie 是一个字符串 
    2) java: 是一个数组;
    Cookie[] cookies = request.getCookies(); 
    cookie的内容编码格式:
    Cookies的值中可以保存除了“;”以外的标点符号。但是不能保存汉字。保存汉字会出现乱码。





  • 相关阅读:
    第五周学习进度报告
    第四周学习进度报告
    第三周大数据学习进度
    十六周总结
    程序员修炼之道-从小工到专家阅读笔记03
    第二阶段冲刺10
    利用正则表达式,分割地址至省市县,更新MySQL数据库数据
    阅读笔记--《大型网站技术架构》—01大型网站概述
    第三周周总结——kettle的简单使用以及MYSQL数据库去重
    热词分析中运用可用性战术
  • 原文地址:https://www.cnblogs.com/sanmubird/p/7206844.html
Copyright © 2011-2022 走看看