(day14)cookie

1.http(网络传输协议)https(安全)
特点:
无状态 (不知道访问者是谁)
无连接 (连接完成后会断开)
长连接/短连接 (key-alive属性来指定的)
 
2.既然我们的http协议是无状态的 那么我们怎么区分对应的访问者(孕育而出了一个sessionID 来做区分)
谁访问 就给谁一个对应的sessionID,(通过这个sessionID来做区分)

3. 这个sessionID是怎么给到你的呢?
他是通过在访问的时候 给你分发一个sessionID  保存到你的机器上 (存在于你的浏览器上 cookie)**sessionID是依赖于cookie进行存储的**
**cookie会随请求一起过去**
 这个时候我们的http的无状态就解决了

刚才在上面我们已经知道了对应的cookie是存储对应的sessionID 那么是不是就证明了我们的cookie是一个容器的(这个容器的大小只有4k) 是一个容器我们就有对应的增删改查的方法

4. cookie里面是什么样
//name是对应的cookie的名字 key=value  expires 过期日期 path 访问路径(才携带cookie) domain 跨域操作 secure 安全
对应的属性有
键=值 (名字=值)
expires  过期时间(关闭浏览器失效)*
path 访问路径(指定对应的路径携带cookie)
domain 跨域 (可以跨域的域名)
secure 安全

5. URI编码和解码

encodeURIComponent 编码
decodeURIComponent 解码

6. 增删改查
a  添加 直接赋值
document.cookie = "key=value;"
b  获取 采用读取字符串的形式
console.log(document.cookie.split(";")[0].split("=")[1]) //拿到value值
c  删除 设置过期时间
document.cookie = "key=value;expires="+new Date()
d  修改 重新设置就是修改
document.cookie = "key=hello;"
 
7. cookie的特性
a为了解决http无状态的问题
b.存储只有4k左右
c.他是存储在浏览器上
d.他会随请求携带
e.他可以被伪造和修改(不安全)

8.cookie和localStorage的区别
a  localStorage容量大于cookie
b  localStorage存储的位置和cookie不是一个地方
c  localStorage对应的不会随请求携带(本地缓存)
d cookie 在后续的框架中也会使用 但是他使用的是对应的库(cookie.js)
 
https://www.mianshigee.com/project/cookie-js/

9. localStorage的方法
getItem(key) 获取元素
setItem(key,value) 设置元素
removeItem(key) 移除元素
 
10.JSON是一种数据格式(json字符串) 他通用我们对应的网络传输(xml)他是一种数据格式 而在对应的JavaScript他是一种数据类型
 json俩种显示方式
   a  对象 {} .key        var jsonObj = {}
   b  数组 [] 使用下标         var jsonArray =[]
 
a  反序列化操作 (将字符串变成对象)
JSON.parse() *
eval()
b 序列化操作 (将对象变成json格式的字符串)
JSON.stringify() *
**localstorage和cookie存储的格式(字符串)以后再存储数据的时候直接存储json格式字符串 取出的时候利用反序列化转为对象**
posted @ 2022-06-09 23:54  前端养成记  阅读(27)  评论(0)    收藏  举报