-
Session
1.Session机制:是服务器段使用的一种记录客户端状态的机制,使用上比cookie简单一些,相应的也增加了服务器的存储压力。
2.Session理解:客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了(如果说cookie机制时通过检查客户身上的“通行证”来确定客户的身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份,Session相当于程序在服务器端简历一份客户档案,客户来访的时候只需要查询档案表就可以了)。
注意:当多个客户端执行程序时,服务器会保存多个客户端的Session,获取Session的时候不需要声明获取谁的Session,Session机制决定了当前客户只会获取到自己的Session,而不会获取别人的Session。各客户端的Session也彼此独立,互不可见。
重点:前端js不能操作session
- localStorage
localStorage定义:localStorage的生命周期是永久的,关闭页面或浏览器之后localStorage中的数据不会消失(除非主动删除数据,否则数据永远不会消失)
- sessionStorage
sessionStorage定义:生命周期只在当前会话下有效,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器的窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。若再独立打开同一个窗口同一个页面,sessionStorage也是不一样的
- Session、Cookie、localStorage、sessionStorage(webStorage)的区别
- cookie与session用来服务端进行数据交互,localStorage和sessionStorage是数据严格要控制在客户端,不需要持续的将数据发回服务器时使用。
- 相比cookie存储(4MB),webStorage存储空间更大一点(5MB).
- webStorage更节省网络流量,不需要像cookie一样每次请求都会传送到服务器,通过减少客户端与服务器端的交互,节省网络流量
- 对于用户只需要浏览一组页面期间保存而关闭浏览器后就可以丢弃的数据,使用sessionStorage会非常方便。
- WebStorage获取数据比cookie在服务器端获取数据效率更高。
- WebStorage不会随着HTTP header发送到服务器端,所以安全性相对于cookie更高一些(不用担心被截获),但仍然存在伪造问题。
- WebStorage有比较简洁的api
setItem(key,value)//保存数据,以键值对的方式存储信息
getItem(key)//获取数据,将值传入,及可获得对应的value值
clear()//删除所有的数据
key(index)//获取某个索引的key
-
sessionStorage存储和取值
解释
setItem(key,value);
getItem(key)