zoukankan      html  css  js  c++  java
  • 解读cookie,localstorage,sessionstorage用法与区别1(解读cookie)

    cookie

    cookie概念

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

    为什么提出cookie?

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

    我的理解

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

    有想知道位置的朋友去C:UsersAdministratorAppDataRoaming  不完整

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

    IE:C:UsersAdministratorAppDataRoamingMicrosoftWindowsTemplates

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

    Chrome:C:UsersAdministratorAppDataLocalGoogleChromeUser DataDefault;

    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 你好') +';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);
    }

  • 相关阅读:
    未知高度、宽度,垂直水平居中
    js千分位处理
    浮动与两侧皆自适应布局
    html5 canvas 学习笔记(一)
    全面理解javascript的caller,callee,call,apply概念[转载]
    cocos2dx android运行Luac编译后的lua代码
    cocos2dx android lua文件设置问题
    cocos2dx android resources.ap_ does not exist
    Gink掉过的坑(一):将CCTableView导入到lua中
    数据结构之内部排序个人总结
  • 原文地址:https://www.cnblogs.com/LiSuSpAu/p/5722141.html
Copyright © 2011-2022 走看看