所有的技术都基于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页面也会下线