cookie与session区别应用场景

105 阅读2分钟

所有的技术都基于http协议

http协议是一个无状态协议 每次断开链接都会把状态清空 无法做到是否是同一个客户登陆 
所以使用了cookie和session

所有的请求是通过求头的方式发送给浏览器 服务器返回一个响应头并把返回的cookie信息保存在浏览器上

cookie是一种进行信息传递的技术 保存在浏览器上

java php net等都可以使用cookie 只是语法不同

信息是请求服务器得到数据后存到浏览器上的,下次使用同一个浏览器再访问这个服务器时 浏览器就会主动发送给服务器 

登陆的信息保存在各自的浏览器上所以用cookie
应用在哪?
1.自动登录 
2.广告推广

实现流程

浏览器首次发送请求 =》 服务器响应生成一个 cookie信息 cookie:username=zhangsan
浏览器下次发送请求数据会附带一个cookie信息 =》服务器通过信息开始做出响应

缺点

1.每次都会发送cookie信息太繁琐,不如存在session里
2.数据安全性不够

既能达到验证效果又不想发送那么多数据就要用session

session 保存在服务器上的数据(基于cookie技术)

session是一个会话机制 不会主动发送数据 通过cookie的请求然后session开始响应 


在服务端会为每一个浏览器创建一个独立数据空间,并且配备一个唯一的标示符PHPSESSID 通过cookie让浏览器保存 下次直接对比即可
应用
    1.购物车
    2.登陆信息
        

localstorage是什么?

window下的一个对象 以键值对的形式存储数据

localStorage.setItem"name","skipper");

console.log(localStorage)=> {name:"skipper"}

输出的类型是字符串类型。永久性存储需要手动清空
sessionstore是会话结束清空
存储空间的大  5M


属性和方法
    setItem(k,v)   设置键值对
    getItem(k)      获取键值对
    removeItem(k)   删除键值对
    clear()         清除全部
    length()        长度
localstorage的改变会出发storage事件做到页面之间的交流
window.addEventListener('storage',(e)=>{
    console.log(e)=> StorageEvent()
})
在同一个页面链接两个浏览器的时候 如果修改了storage 另一个浏览器也会触发此绑定方法  应用场景在A页面下线后B页面也会下线