分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

js中的cookie及封装

发布时间:2023-09-06 02:02责任编辑:郭大石关键词:js

概念参考高级编程:

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

js中的cookie及封装

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved