cookie相关

cookie的构成
名称:一个唯一确定cookie的名称。cookie的名称必须是经过URL编码的。
值:存储在cookie中的字符串值。值必须被URL编码。
域:cookie对于哪个域是有效的。所有向该域发送的请求中都会包含这个cookie信息。
路径:对于指定域中的那个路径,应该向服务器发送cookie。
失效时间:表示cookie何时应该被删除的时间戳(也就是,何时应该停止向服务器发送这个cookie)。默认情况下,浏览器会话结束时即将所有cookie删除;不过也可以自己设置删除时间。
安全标志:指定后,cookie只有在使用SSL连接的时候才发送到服务器。
基本的cookie操作:读取、写入、删除

var CookieUtil={
	get: function(name){
		var cookieName=encodeURIComponent(name)+"=",
		cookieStart=document.cookie.indexOf(cookieNmae),
		cookieEnd=null;
		if(cookieStart>-1){
			cookieEnd=document.cookie.indexOf(";",cookieStart);
			if(cookieEnd==-1){
				cookieEnd=document.cookie.length;
			}
			cookieValue=decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));
			return cookieValue;
		}
	},
	set: function(name,value,expires,path,domain,secure){
	    var cookieText=encodeURIComponent(name)+"="+encodeURIComponent(value);
	    if(expires instanceof Date){
	    	cookieText+="; expires="+expires.toGMTString();
	    }
	    if(path){
	    	cookieText+="; path="+path;
	    }
	    if(domain){
	    	cookieText+="; domain="+domain;
	    }
	    if(secure){
			cookieText+="; secure";
		}
		document.cookie=cookieText;
	},
	unset: function(name,path,domain,secure){
		this.set(name,"",new Date(0),path,domain,secure);
	}
};
//设置cookie
CookieUtil.set("name","Nicholas");
//读取cookie
console.log(CookieUtil.get("name"));
//删除cookie
CookieUtil.unset("name");
//设置cookie,包括它的路径、域、失效时间
CookieUtil.set("name","Nicholas","/books/projs","www.wrox.com",new Date("January 1,2010"));
//删除上面设置的cookie
CookieUtil.unset("name","/books/projs/","www.wrox.com");
//设置安全的cookie
CookieUtil.set("name","Nicholas",null,null,null,true);

cookie的作用:
HTTP协议是一种无状态的协议,在数据交换完毕之后,服务器与客户端就会断开连接,每次请求数据都需要重新建立连接。所以cookie在客户端记录用户的信息和行为。
cookie的弊端:
1.存在安全问题
2.数据数量和长度有限制
3.增加流量消耗,每次请求都会携带cookie,数据多也会影响性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值