cookie, sessionStorage, localStorage之间的差异
共同点:
它们都保存在浏览器,且同源的;
不同点:
- cookie 数据始终在同源的 http 请求中携带(即使不需要),也就是说 cookie 在浏览器和服务器之间来回传递,而 session Storage 和 local Storage 不会自动把数据发送给服务器,仅在本地保存。cookie 还有(path)的概念,可以限制 cookie 只属于某个路径下。
- 存储大小的限制也不同,cookie 数据不能超过4k, 因为每次http请求都会携带 cookie, 所以 cookie 只适合存很小的数据,比如会话标识;session Storage 和 local Storage 虽然也有存储大小限制,但比 cookie 大得多,可以达到5K或者更多。
- 数据有效期不同,sessionStorage: 仅在当前浏览器窗口关闭之前有效;localStorage: 始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie: 只在设置的 cookie 过期时间之前有效,即使窗口关闭或者浏览器关闭。
- 作用域不同,sessionStorage: 不在不同的浏览器窗口共享,即使是同一页面;localStorage:在所有同源窗口中都是共享的;cookie 也是在所有同源窗口中共享的。
- web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者;
- web Storage 的api接口使用更方便;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构