没深入理解的东西,都是没有被坑过的。。
我这次理解cookie了。
1.cookie是什么。
是浏览器提供的,写在硬盘里的,交给document作为属性的,可以提供给js使用,是在一个域下可以共享的全局的;
它可以记下任何你想记的东西,比方说你想记人家的登陆状态、浏览行为、等等。
但是它是可以被用户禁用的、可以被删除、纯文本方式保存的。
说白了就是,我想记忆你的行为,好,记下了,下次我来取,可以跟踪你。但是我记忆的别人可不能用~只能我用~我的别的域也不能用,只能我自个当前域可用~你不想我记,可以禁用还可以删掉~~我没加密你的信息,我还会给你带来麻烦,所以~我对重要信息时会加密的~~
2. cookie包括哪些字段:
打开firebug,就可以看到cookie了,包括:名称、内容、域、原始大小、路径、过期时间、仅http、安全。
3. 添加cookie:
document.cookie = ‘name=value;content=val;domain=ss.com;path=/‘ ;
即键值对的方式,赋值给document.cookie。
要保证任何一对key/value值都与现有的cookie不一致时,才可以作为一条新cookie被加入。
即判断是不是同一个cookie,不只看cookie的name,还要看其他的键值对。也就是说,有可能出现“同名”cookie(其他值不同)!
4. 读取cookie:
var cookies = document.cookie~~
要知道,读取cookie只能读取他的名字的值,想读domain、path?不好意思,安全起见,不支持~
那如何区分“同名”cookie呢?一般来讲,页面会读取与他域名最接近的那个cookie~~~可证明的。。
5. 删除cookie:
cookie里有个过期时间,ok,就是它了,什么叫删除,就是设定一个当前时间的前一秒钟前一分钟前一天前十天随便前几天,只要是前边的时间就好~
设定一个cookie的有效时间早于当前时间,它自然是不能起作用了,所以这个cookie被删除了~
所以那些来捣乱的“同名”cookie,你就可以干掉了~~
小记一下,多多讨论~