客户端存储,cookie storage

cookie

  • HTTP Cookie简称cookie,在HTTP请求发送Set-Cookie HTTP头作为响应的一部分。通过name=value的形式存储
  • 同一个域名可以用(不同的域名不能使用)
  • 对于指定域的路径,向该服务器发送cookie,在这个域下,将不会发送cookie
  • 设置失效时间
  • 存储在客户端
  • 随着请求头,随时提交
  • 可以跨页面,不可以跨域
  • document.cookie
  • 缺陷
  • ①Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
    ②由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。(除非用 HTTPS)
    ③Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。
  • 作用
  • 记住密码,下次自动登录。
    购物车功能。
    记录用户浏览数据,进行商品(广告)推荐。

web存储机制(storage)

方法
clear()删除所有的值 火狐没实现
getItem(name)获取name对应的值
key(index)获取index位置的名字
removeItem(name)删除name对应的值
setItem(name,value)为name设置对应的值
storage事件
{
domain:发生变化的存储空间
key:设置或者删除的域名
newValue:[设置值->新的,删除键=>null]
oldValue:键值更改之前的值
}

1 localStorage对象

  • 可以跨页面,不能跨域
  • 采用k-v存储,同域名可用
  • 存储在客户端,不随着请求头提交,可以长期保存
  • 使用:localStorage.方法

2 sessionStorage对象

  • 不随着请求头提交,页面关闭就会失效
  • 不跨页可以跨域
  • sessionStorage.方法

遍历
sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:

var storage = window.localStorage;
for (var i=0, len = storage.length; i < len; i++){
var key = storage.key(i); //先获取键名
var value = storage.getItem(key); //获取键值
console.log(key + “=” + value);
}
甚至还可以用for in遍历

for(var key in sessionStorage){
var value =sessionStorage.getItem(key);
alert(key+"="+value);
}
每次循环key会向指针一样指向sessionStorage的下一个键名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值