HTTP高级(Cookie,Session|HTTP高级(Cookie,Session ,LocalStorage )
Cookie
- 服务器通过 Set-Cookie 头给客户端一串字符串
- 客户端每次访问相同域名的网页时,必须带上这段字符串
- 客户端要在一段时间内保存这个Cookie
- Cookie 默认在用户关闭页面后就失效,后台代码可以任意设置 Cookie 的过期时间
- 大小大概在 4kb 以内
- 将 SessionID(随机数)通过 Cookie 发给客户端
- 客户端访问服务器时,服务器读取 SessionID
- 服务器有一块内存(哈希表)保存了所有 session
- 通过 SessionID 我们可以得到对应用户的隐私信息,如 id、email
- 这块内存(哈希表)就是服务器上的所有 session
- LocalStorage 跟 HTTP 无关
- HTTP 不会带上 LocalStorage 的值
- 只有相同域名的页面才能互相读取 LocalStorage(没有同源那么严格)
- 每个域名 localStorage 最大存储量为 5Mb 左右(每个浏览器不一样)
- 常用场景:记录有没有提示过用户(没有用的信息,不能记录密码)
- LocalStorage 永久有效,除非用户清理缓存
- SessionStorage 在用户关闭页面(会话结束)后就失效。
- cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。Cookie 和 LocalStorage 的区别
2、cookie不是很安全, 可以被篡改, 考虑到安全应当使用session。
3、单个cookie保存的数据一般不超过4K,而session的内存比较大
4、一般将登陆信息等重要信息存放为SESSION, 免登陆功能数据就可以放在COOKIE中
LocalStorage 和 SessionStorage 的区别
- Cookie会被浏览器带到服务器; 而LocalStorage与HPPT无关。
- 单个Cookie保存的数据一般不超过4K;每个域名LocalStorage最大存储量为5MB左右。
- 客户端在一定时间内保存Cookie,关闭页面后失效;LocalStorage永久有效,除非清除缓存。
【HTTP高级(Cookie,Session|HTTP高级(Cookie,Session ,LocalStorage )】*LocalStorage永久有效,除非清除缓存。SessionStorage在页面关闭后失效。Cache-Control: max-age=1000 缓存 与 ETag 的「缓存」有什么区别?
- Cache-Control: max-age=1000 缓存,是1000秒内不返回请求
- ETag 的「缓存」,是返回请求响应体为空
推荐阅读
- 画解算法(1.|画解算法:1. 两数之和)
- 唐嫣可真会穿,西装搭牛仔裤都能穿出高级感,一双大长腿太抢镜
- ts泛型使用举例
- https请求被提早撤回
- 鹿鸣高级营养老师徐老师分享应该注意的6种食物
- Java基础-高级特性-枚举实现状态机
- 拒绝可以很艺术,或者很行为艺术。
- www和https://又被Chrome地址栏隐藏了
- Spring集成|Spring集成 Mina
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理