Web存储

Cookie

HTTP Cookie简称cookie,在HTTP请求发送Set-Cookie HTTP头作为响应的一部分。通过name=value的形式存储。


cookie由以下信息构成:

  1. 名称:name(不区分大小写,但最好认为它是区分的)
  2. 值:value(通过URL编码:encodeURIComponent)
  3. 路径
  4. 失效时间:一般默认是浏览器关闭失效,可以自己设置失效时间
  5. 安全标志:设置安全标志后只有SSL连接的时候才发送到服务器

cookie主要用于保存登录信息。

一段cookie信息:

name=value; expries=Mon, 07-Apr-04 10:15:32 GMT; domain=www.qcla.sinaapp.com; path=/; secure;

注意:每段信息用分号加空格进行分隔。

cookie的接口很蹩脚(document.cookie),一般情况下都要自己封装。

function setcookie(name,value,days)
    {
        var date=new Date();
        date.setDate(date.getDate()+days);
        document.cookie=name+'='+value+';expires='+date;    
    }
function getcookie(name)
    {
         var arr=document.cookie.split(';');
         for(var i=0;i<arr.length;i++)
         {
            var arr2=arr[i].split('=');
            if(arr2[0]==name)return arr2[1];
         }
         return '';
    }
function removecookie(name)
    {
        setcookie(name,'1',-1);
    }

session

sessionStorage是Storage类型的一个对象,拥有clear(),getItem(name),key(index),removeItem(name),setItem(name,value)方法。

sessionStorage对象存储特定于某个会话的数据,也就是该数据只保持到浏览器关闭。

localStorage

localStorage也是Storage类型的一个对象。
在HTML5中localStorage作为持久保存在客户端数据的方案取代了globalStorage(globalStorage必须指定域名)。

localStorage会永久存储会话数据,除非removeItem,否则会话数据一直存在。

三者的区别

安全性的问题:使用这三者的时候都要时刻注意XSS注入的风险,因为可以在控制台直接访问它们,所以不要存入敏感数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容