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的值中可以保存除了“;”以外的标点符号。但是不能保存汉字。保存汉字会出现乱码。





原文地址:https://www.cnblogs.com/sanmubird/p/7206844.html