zoukankan      html  css  js  c++  java
  • js中的cookie及封装

    概念参考高级编程:

    1.什么是cookie  

    cookie是用于客户端储存会话的信息; 格式key=value;

    2.cookie的构成

    名称:一个唯一去顶的cookie的名称,不区分大小写,cookie的名称必须是经过URL编码的;

    值:存储cookie中的字符串,值必须被URL编码

    域:cookie对于哪个域是有效的,所有向该域发送的请求中都会包含这个cookie信息,这个值可以包含子域,也可以不包含这个cookie信息,如果没有明确设定,那么这个域会被认作来自设置cookie的那个域

    路径:对于指定域中的那个路径,应想服务器发送cookie,加入你可以指定cookie只有从 http://www.person.com/mark 中才能访问,那么http://www.person.com 就不会发送cookie信息,即使请求都是来自一个域

    失效时间:表示cookie何时被删除的时间戳(何时停止向服务器发送这个cookie)默认情况下,浏览器结束会话时,即将所有cookie删除,不过也可以设置删除时间,这个值是GMT的格式的日期,用于指定删除该cookie的标准时间,

    因此cookie可以在浏览器关闭后依然保存在用户的机器上,如果设置失效时间是以前的时间,cookie会立刻被删除

    每一段信息都作为set-cookie头的一部分,使用分号加空格分隔每一段

    Set-Cookie: name=value; expires=Mon, 22-Jan-07 07:10:24 GMT; domain=.wrox.com

    3.js中的cookie的操作: 读取,写入,删除,代码如下

    var cookieUtil = {
            set: function (name, value, expiresDay) {
                var expiresDate = new Date();
                expiresDate.setDate(expiresDate.getDate() + expiresDay);
                value = encodeURIComponent(value);
                var mycookie = name + '=' + value + ';expires=' + expiresDate;
                document.cookie = mycookie;
            },
            get: function (name) {
                name = encodeURIComponent(name);
                var cookielenght = document.cookie.length;
                var arr = document.cookie.split('; ');
                for (var i = 0; i < arr.length; i++) {
                    var arr2 = arr[i].split('=');
                    if (arr2[0] == name) {
                        return decodeURIComponent(arr2[1]);
                    }
                }
                return '';
            },
            remove: function (name) {
                this.set(name, 1, -1);
            }
        };

    4:cookie的工作原理

    1).客户端通过浏览器发送报文给服务器,请求连接

    2).服务器根据收到的请求,建立 Set-Cookies Header,并返回给客户端

    3).客户端解析返回内容解析并保存cookie

    5:cookie的局限性

    1).每个特定的域名下只能产生10个cookie

    2).cookie的最大大约是4096字节(4k),为了更好的兼容性,一般不能超过4095字节。

    3).cookie存储在客户端的文本文件,所以特别重要和敏感的数据是不建议保存在cookie中的。这里是考虑安全性的问题。

    4:cookie的应用:

    cookie可以用于保存数据,比如购物车,保存用户名密码

  • 相关阅读:
    学生排序,使用三层优先级
    利用类计算学生成绩和排序
    join()函数
    对象
    015_eclipse开发环境的使用
    013_运算符_算术
    012_变量
    011_jdk7新特性
    010_类型提升问题
    008_浮点数误差问题
  • 原文地址:https://www.cnblogs.com/MarkSun3/p/9253888.html
Copyright © 2011-2022 走看看