在网页客户端存储的方式(一)中,localStorage和SessionStorage都是储存数据在本地,cookies是储存在服务器端。
由于cookie在同源http适中携带,所以cookie往往都比较小。(不超过4K)
①cookie的默认有效期和作用域:
(1) cookie的默认有效期为整个浏览器进程,(SessionStorage的有效期仅为浏览器的单个窗口)
(2) cookie的默认作用域与创建页面的路径相关。 例如: www.abc.com/def/gh.html 创建的页面 cookie对于/def的所有页面都是可见的
②cookie相关的属性
(1)navigtor.cookieEnabled 由于有的网站滥用cookie,使用cookie窃取用户的行为习惯,有的用户会屏蔽掉cookie。使用该属性,可以检测cookie是否开启。
(2)max-age 可以更改cookie的有效期
(3)path 可以设置作用域的路径 如:设置为/ 则www.abc.com/ cookie对于所有/页面都是可见的
(4)domain 可以改变作用域的源 如:设置为.abc.com 则对于xyz.abc.com cookie也是可见的
(5)secure 一个bool值 如果置位,则必须使用https等安全协议链接
一个简单的 cookie使用实例:
function cookieStorage(function(){
var cookie = {};
var all = document.cookie;
if (all === "")
return cookie;
var list = all.split(";");
for(var i = 0 ; i <list.length ; i++)
{
var cookie = list[i];
var p = cookie.indexOf('=');
var name = cookie.sybstring(0,p);
var value = cookie.substring(p);
value = decodeURIComponent(value);
cookie[name] = value;
}
}
());