session和cookie的区别

简单来说,cookie是存在客户端的一种缓存机制,而session则是存在服务器端的一种缓存机制。

COOKIE

1,cookie保存在系统中的时候是“cookie名1 = cookie值; cookie名2 = cookie值”这样的方式来保存的。

2、document.cookie是返回包含所有cookie的字符串。

3、document.cookie.index(c_name + "=")是取得这个cookie名在整个cookie中的位置。(加“=”号:取cookie名加上等于号的位置,比方整个cookie是"user=tony; passwd=user123",这时候查找名为user的cookie值的时候,是查找"user="的位置;如果不要等于号,就会找到其它位置的"user",比如后面密码里面也有user字符,但并不是cookie中cookie名都是唯一的,所以加上等于号就不会出错。 )

4、c_start = c_start + c_name.length + 1是用先前取得的位置加上cookie名的长度再加1,就是把位置确定在这个cookie名的“=”符号的后面。

5、c_end = document.cookie.indexof(";", c_start)是从上一步的位置开始查找的,直到";"的位置。

6、document.cookie.substring(c_start, c_end)就是取该cookie名的等号后面到分号前面的字符串,即对应的cookie的值。

//取Cookie的值

   function GetCookie (name){

      var arg = name + "=";

      var alen = arg.length;

      var clen = document.cookie.length;

      var i = 0;

      while (i < clen) {

         var j = i + alen;

         if (document.cookie.substring(i, j) == arg)

         return getCookieVal (j);

         i = document.cookie.indexOf(" ", i) + 1; 

         if (i == 0) break;

      }

      return null;

   }

//取cookie时,如果找不到则返回-1
   function getCookieVal (offset) {

      var endstr = document.cookie.indexOf (";", offset);

      if (endstr == -1)

      endstr = document.cookie.length;

      return unescape(document.cookie.substring(offset, endstr));

   }

 

 SESSION:

  参考文章:

    https://www.cnblogs.com/lonelydreamer/p/6169197.html

    https://www.cnblogs.com/lonelydreamer/p/6169469.html

 

 

 

posted on 2019-04-12 13:29  永不宕机  阅读(120)  评论(0编辑  收藏  举报

导航