cookie

2017-10-01  本文已影响0人  pingping_log
  1. 是浏览器中一块存储数据的区域!
  2. 我们可以通过js代码,进行数据的存和取工作!
  3. cookie在存储的时候,是以域名为单位的!各个域名之间cookie不可以共享。
  4. cookie存储有时限的,默认情况下,浏览器关闭,cookie就会消失, 可以进行手动的设置,想让他什么时候过期都可以
  5. cookie存储是有大小限制的,每个域名下面,最多存4KB
  6. cookie存储是分路径的, 子路径中可以访问父路径中的cookie内容,但是父路径不能访问子路径中的存储的cookie, 一般情况下,我们都将cookie存储在根目录下,这样保证全网站所有的页面都能访问到, cookie的存储路径是可以设置的
  7. cookie中存储的信息,会伴随着每一次请求,发送给服务器!!
  8. cookie中不会存储大量的数据,第一:有容量限制4k 第二:因为每次请求都会附带着cookie,那么如果存储数据量过大,会影响请求效率!!
  9. http://studyit.com/dashboard/index 在这个路径下存一个cookie
  10. http://studyit.com/ 这个路径下是访问不到上面存的cookie
//通过js代码来操作cookie
//1. 获取
console.log(document.cookie);

//2. 存储
document.cookie = "name=lee;expires=" + new Date("2017-9-9 15:22:30").toGMTString();
document.cookie = "age=18;path=/";
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title> 
</head>
<body>
    <script>
    //Object.defineProperty
    //给cookie属性添加了一个set方法,在赋值的时候会自动调用set方法
      var obj = {};

    //要给obj对象添加一个name属性,第三个参数中的对象里,是关于这个属性的一些设置
      Object.defineProperty(obj, "name", {
        set: function(value){
          // console.log("设置方法被调用了");
          this._name = this._name || "" ;
            this._name += value;
          },
          get: function(){
            return this._name;
          }
      })

      console.log(obj);

      obj.name = "张学友";
      obj.name = "刘德华";
      obj.name = "张国荣";

      console.log(obj.name);
    </script>
</body>
</html>

jquery.cookie插件的使用
参见 https://github.com/carhartl/jquery-cookie

在PHP中操作

<?php
  //取
  var_dump($_COOKIE);
  //存
  setcookie("age",18);
 ?>
//cookie是一个浏览器中的存储空间
//但是在服务器端可以向cookie中存储数据,以及获取cookie中的内容
上一篇 下一篇

猜你喜欢

热点阅读