解读cookie,localstorage,sessionstorage用法与区别1(解读cookie)

cookie

cookie概念

cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

为什么提出cookie?

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理

我的理解

cookie为一小段文本,如果服务器端页面,需要记录用户的信息状态,就使用response向客户端浏览器颁发一个Cookie(服务器通过代码提取信息,然后生成cookie保存到用户浏览器文件夹内)附带cookie对应的网址,保存。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态提取用户信息。服务器还可以根据需要修改Cookie的内容。

有想知道位置的朋友去C:\Users\Administrator\AppData\Roaming  不完整

下边是不同浏览器的后续地址

IE:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates

Firefox:C:/Documents and Settings/你的用户名/Application Data/Mozilla/Firefox/Profiles  在这个目录下里有一个类似于这样的随机目录 b8ypabix.default 。 b8ypabix.default里面找到类似于cookies.sqlite等这样的文件就是cookie文件,但是般普通编辑器是无法正常看到里面的内容的。

Chrome:C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default;

cookie特点

1.不同的浏览器存放的cookie位置不一样,也是不能通用的
2.cookie的存储是以域名形式进行区分的
3.cookie的数据可以设置名字的
4.一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样
5.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样

cookie的实际应用

我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,他包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来

如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期的时间
cookie默认是临时存储的,当浏览器关闭进程的时候自动销毁

存放:document.cookie = '名字=值';会立即销毁

   正确:document.cookie = '名称=值;expires=' + 字符串格式的时间;

      oDate.setDate( oDate.getDate() + 5 );

      document.cookie = 'username='+ encodeURI('leo\n你好') +';expires=' + oDate.toGMTString();因为可能存在/n无法识别问题所以进行1encodeURI编码,读取是进行解码

读取时也需要解码:alert(decodeURI(document.cookie));

如果在chrome上是空白请不要担心 ,chorme需要在服务器环境下才能响应呢

下边是对cookie增加,删除,获取得封装

function setCookie(key, value, t) {
  var oDate = new Date();
  oDate.setDate( oDate.getDate() + t );
  document.cookie = key + '=' + value + ';expires=' + oDate.toGMTString();
}

function getCookie(key) {
  var arr1 = document.cookie.split('; ');
  for (var i=0; i<arr1.length; i++) {
    var arr2 = arr1[i].split('=');
    if ( arr2[0] == key ) {
      return decodeURI(arr2[1]);
    }
  }
}

function removeCookie(key) {
  setCookie(key, '', -1);
}

posted @ 2016-07-30 23:59  明阳春秋  阅读(428)  评论(0编辑  收藏  举报