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可以用于保存数据,比如购物车,保存用户名密码

原文地址:https://www.cnblogs.com/MarkSun3/p/9253888.html

时间: 2024-10-07 10:26:13

js中的cookie及封装的相关文章

js中利用cookie实现记住密码功能

js中利用cookie实现记住密码功能 在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: 1 HttpServletRequest request 2 HttpServletResponse response 3 Cookie username = new Cookie("username ","cookievalue"); 4 Cookie password = new Cookie("password

js中操作cookie

cookie是一小段信息,以键/值对的信息保存在计算机硬盘上的字符串, cookie存储容量大概在4kb,不同的浏览器厂家对cookie大小的限制有微微的差异:cookie主要的本质是"识别",通过识别来做一些事情;cookie 也是无法从你的硬盘取得任何其它数据,传送电脑病毒或者获取你的电子邮件地址.cookie是有有效期的,cookie的默认有效期是从cookie生成至浏览器关闭,也可以通过设置cookie的有效期来指定其失效日期:用户也可以禁止cookie也可以手动删除cooki

在node.js中使用COOKIE

node.js中如何向客户端发送COOKIE呢?有如下两个方案: 一.使用response.writeHead,代码示例: //设置过期时间为一分钟 1 var today = new Date(); 2 var time = today.getTime() + 60*1000; 3 var time2 = new Date(time); 4 var timeObj = time2.toGMTString(); 5 response.writeHead({ 6 'Set-Cookie':'myC

js中的cookie使用

在网上找到的资料,收藏一下 1 function getCookies(name) 2 { 3 var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 4 if(arr != null) return unescape(arr[2]); return ''; 5 } 6 function setCookie(name, value, expires, path, domai

回顾js中的cookie/localstorage

1.首先简单总结下cookie cookie:可以做会话跟踪 特点: 1.大小限制(不能超过4k) 2.每个域下cookie不能超过50个 3.有效期(和设定时间有关),过了有效期cookie会自动删除 4.cookie读取(只能访问同一个域名下的cookie)(域的限制) 5.没有设置存储时间的cookie是临时cookie,浏览器关闭自动删除 6.cookie值只能是字符串 7.cookie访问:子能访问父的cookie   但是父不能访问子的cookie; 1.1   cookie的存储

JS中document.cookie详解

什么是cookie? cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值. 设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828"; document.cookie看上去就像一个属性,可以赋不同的值.但它和一般的属性不一样,改变它的赋值并不

JS中对Cookie的操作详解

前言 cookie设置 参数说明: name cookie 名称,key值 value 可选,cookie 值 expire 可选,过期时间,时间戳格式 path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径 domain 可选,该 cookie 有效的域名 secure 可选.规定是否通过安全的 HTTPS 连接来传输 cookie. 代码的封装 (function(){ var cookieObj={ 'add':function(name, va

js中的cookie的设置获取和检查

设置cookiefunction setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires="+d.toGMTString(); ocument.cookie = cname + "=" + cvalue + "; " + expires; } 获取cookie

js中的cookie操作

一.js cookie   使用时把此段代码引入页面 (function (factory) { if (typeof define === 'function' && define.amd) { define(factory); } else if (typeof exports === 'object') { module.exports = factory(); } else { var _OldCookies = window.Cookies; var api = window.C