其他分享
首页 > 其他分享> > cookie

cookie

作者:互联网

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