2019-04-23 Session、localstorage、
2019-05-04 本文已影响0人
追夢的蚂蚁
什么是session?
- 服务器通过cookie给用户一个sessionID
- sessionID对应服务器内的一小块内存
- 每次用户访问服务器时,服务器通过sessionID就可以知道用户隐私信息
问: 什么是Cookie?
- 服务器通过Set-Cookie 头给客户端一串字符串
- 客户端每次访问相同域名的网页时,必须带上这串字符串
- 客户端要在一段时间内保存这个Cookie
- Cookie默认在用户关闭页面后就失效,后台代码可以任意设置Cookie的过期时间
问: 什么是Session?
- 将SessionID(随机数)通过Cookie发给客户端
- 客户端访问服务器时,服务器读取SessoinID
- 服务器有一块内存(哈希表)保存了所有session
- 通过SessionID可以知道用户的隐私信息.如id,email
- 这块内存就是服务器上的所有session
LocalStorage
- LocalStorage 跟HTTP无关
- HTTP不会带上LocalStorage的值
- 只有相同域名的页面才能互相读取LocalStorage(没有同源那么严格)
- 每个域名LocalStorage最大存储量为5MB左右(每个浏览器不一样)
- 常用场景: 记录有没有提示过用户(没有用的信息,不能记录密码)
- LocalStorage 永久有效,除非用户清理缓存
SessionStorage(会话存储)
- 同上, 5. SessionStorage用户关闭页面(会话结束)后失效
素质三连
-
session和cookie有什么关系?
session是基于cookie实现的 -
cookie和localstorage 的区别?
cookie每次请求会带到服务器上,localstorage不会
cookie一般4k左右,localstorage大约5MB -
localstorage与sessionstorage有什么区别?
seessionstorage关闭页面后失效,localstorage不会
补充:sessionstorage与session间没有关系,前者是会话存储,后者就是变量名不翻译