cookie是什么?cookie的设置/修改/获取/删除
COOKIE长度限制总结
cookie在柯林斯词典上的释义:甜饼,网络跟踪器(记录上网用户信息的技术) 。
之前一直把cookie和cache傻傻分不清,现在 可以确定cookie表示网络跟踪器 ,cache请听下回分解。
cookie能在客户端保存用户信息(区别于session在服务端保存用户信息)
通过document.cookie.length可以发现cookie其实就是一个由key和value加分号组成的字符串,这个例子中的字符串长度为415。
typeof document.cookie返回true也证明了这点。
预备知识: undefined和null在cookie中的妙用
setCookie中:escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。它将任何形式的value,转换成字符串,此函数存在于window对象下。
Cookie默认有效期是多久?
是指不专门设置有效期时的有效期,不设置有效期时Cookie只在当前会话内有效,关闭浏览器后即被丢弃。
setCookie函数中有效期的实现依据是什么?
在向document.cookie写入值的时候,末尾添加字符串为 ;expires=GMT/UTC_Format_Time ,expires使用GMT或UTC格式的时间 ,即可设置有效期,有效期格式必须为GMT或者UTC格式。
cookie常用字段设置语法:
1 直接修改firstName字段
2 使用 setCookie(cookie_name,value,day) 函数,也可以修改,使用相同的字段名,后面的可以覆盖前面的值。
下面是一个实际的例子
cookie获取正则解析:
"(^| )" + name + "=([^;]*)(;|$)" 是正则匹配。 (^| ) 匹配cookie开头或空格(cookie键值对之间用分号空格隔开),也就是cookie键值对的开始。接着是cookie的名称name,([^;]*)匹配除分号以外的任意字符,也就是cookie键值对的值。最后(;|$)匹配分号或整个cookie的结尾,也就是cooke键值对的结尾。
设置要删除的cookie的expires为过去的时间即可。
Cookie主要用在以下三个方面:
会话状态管理(如用户登录状态、购物车、游戏分数和其它需要记录的信息)
个性化设置(如用户自定义设置、主题等)
浏览器行为跟踪(如跟踪分析用户行为)
保持登录状态(拒绝cookie可能无法正常登录,不过也有其它解决方案)
加深理解cookie:
js与cookie的domain和path之间的关系
javascript操作cookie
w3school中JavaScript Cookies