cookie
http(网络传输协议)
特点:
无状态 (不知道访问者是谁)
无连接 (连接完成后会断开)
长连接/短连接(key-alive属性来指定的)
既然我们的http协议是无状态的 那我们怎么区分对应的访问者(孕育而出一个sessionID来做区分)
你访问了我,我给你一个对应的sessionID 他访问了我 我同意给他一个sessionID(这个时候我们就可以通过这个sessionID来做区分)
这个sessionID是怎么给到你的呢?
他是通过在访问的时候 给你分发一个sessionID保存到你的机器上 (存在于你的浏览器上cookie)sessionID是依赖于cookie进行存储的
cookie会随请求一起过去
这个时候我们的http的无状态就解决了
cookie
刚才在上面我们已经知道了对应的cookie是存储对应的sessionID 那么是不是就证明了我们的cookie是一个容器的(这个容器的大小只有4K) 是一个容器我们就有对应的增删改查的方法
cookie里面是怎么样
//name 是对应的cookie的名字 expires 过期日期 path 访问路径(才携带cookie) domain 跨域操作 secure 安全
对应的属性有
键=值 (名字=值)
expires 过期时间(关闭浏览器失效)*
path 访问路径 (指定对应的路径携带cookie)
domain 跨域(可以跨域的域名)
secure 安全
URI编码和解码
encodeURIComponent 编码
decodeURIComponent 解码
增删改查
添加直接赋值
document.cookie="key=value;"
获取采用读取字符串的形式
console.log(document.cookie,split(";")[]split("=)[1])//拿到value值
删除 设置过期时间*
document.cookie="key=value;expires="+new Date()
修改 重新设置就是修改
document.cookie="key=hello:"
cookie的特性
1.为了解决http无状态的问题
2.存储只有4k左右
3.他是存储在浏览器上
4.他会请求携带
5.他可以被伪造和修改(不安全)
cookie和localStorage的区别
localStorage容量大于cookie
localStorage存储的位置和cookie不是一个地方
localStorage对应的不会随请求携带(本地缓存)
它可以存图片的字节码
没有过期时间
cookie在后续的框架中也会使用 但是它使用的是对应的库(cookie.js)
https://www.mianshigee.com/project/cookie-js
localStorage的方法
getltem(key)获取元素
setltem(key,value)设置元素
removeltem(key)移除元素
JSON
JOSN是一种数据格式(josn字符串) 他通过我们对应的网络传输(xml)他是一种数据格式,而在对应的JavaScript 他是一种数据类型
json两种显示方式
对象{}.key
数组[]使用下标
var jsonObj={}
var jsonArray=[]
反序列化操作(将字符串变成对象)
JSON.parse()*
eval()
序列化操作(将对象变成json格式的字符串)
JSON.stringify()*
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现