ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

cookie

2022-06-10 09:01:13  阅读:188  来源: 互联网

标签:expires json localStorage key cookie document


OSI七层参考模型 TCP/IP四层参考模型 主要协议

1.应用层 应用层 Telnet、Ftp、HTTP、P2P、SNMP、TFTP、NFS

2.表示层

3.会话层

4.传输层 传输层 TCP/IP

5.网络层 网络层 ARP、IP、ICMP

6.数据链路层 网络接口层 FDDI/

7.物理层

HTTP(网络传输协议) https

特点:

1.无状态 (不知道访问者)

2.无连接 (连接完会断开)

3.长连接/短连接 (key-alive属性来指定)

http是无状态的,依靠sessionID区分,session依靠cookie来存储

cookie特性:

为了http无状态的问题,cookie会随请求一起传输,容量4kb(默认),存储在浏览器上,可以被伪装和修改 (不安全)

// 使用document.cookie获取cookie对象
document.cookie;

//name对应cookie名 expires过期日期(默认关闭浏览器失效) path指定路径携带cookie domain限制在该域名下访问 secure安全(写上了必须使用https协议才可以获取cookie)
document.cookie = "name=value;[expires=date];[path=路径];[domain=域名];[secure]"

URI编码解码

encodeURIComponent编码

decodeURIComponent解码

cookie增删改查

// 添加 重新设置就是修改
documnet.cookie = "name='靓仔'"

// 获取
document.cookie.split(';')[0].split('=')[1] //value 靓仔

// 删除 设置过期时间 name值为要删除的cookie名 失效时间设置为现在或现在之前的时间即可删除指定cookies

document.cookie = 'name="靓仔";expires=' + new Date()

// 封装对cookie的操作方法
function setCookie (obj, expires, path, domain, secure) {
	if (obj) {
		document.cookie += `${obj.key}=${obj.value};`
	}
	if (expires) {
		document.cookie += `expires=${expires}`
	}
	...
}

localStorage

localStorage.getItem(key) 获取元素
localStorage.setItem(key, value) 设置元素
localStorage.removeItem(key) 移除元素

localStorage和cookie的区别

localStorage容量大于cookie
localStorage存储的位置和cookie不同 cookie在浏览器上 localstorage在文件夹
localStorage不会随请求携带

cookie库 cookie.js

json

数据格式 通用于对应的网络传输 (最早的是XML数据格式) 在其他语言中是数据格式 在js中是数据类型

json两种显示方式

对象 {}.key
数组 [][i]

json格式化

// 将字符串转为json对象 key-value必须是双引号  反序列化操作 提取
JSON.parse(str)

window.eval(str)  // 存在安全性问题 不常用


// 将json对象转为json格式字符串		序列化操作 存储 到localStorage、cookie
JSON.stringify(jsonObj)		

标签:expires,json,localStorage,key,cookie,document
来源: https://www.cnblogs.com/AiZink/p/16361905.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有