浏览器中的三种主要客户端存储机制——Cookie、localStorage 和 sessionStorage ——各有不同的生命周期:
-
Cookie:
- 会话Cookie: 如果不设置过期时间(
Expires
或Max-Age
属性),Cookie 在浏览器关闭时失效,也称作会话级Cookie。 - 持久Cookie: 若设置了过期时间,则Cookie会在指定的日期过后失效。即使关闭浏览器,只要过期时间未到,再次打开浏览器时Cookie仍然存在。
- 会话Cookie: 如果不设置过期时间(
-
localStorage:
- localStorage 的数据是持久化的,也就是说,除非通过代码显式清除,或者用户在浏览器设置中手动清除网站数据,否则数据将永久保存在客户端。即使关闭浏览器再重新打开,localStorage 中的数据也不会丢失。
-
sessionStorage:
- sessionStorage 存储的数据仅在当前浏览器窗口(或标签页)的会话期间有效。一旦浏览器窗口或标签页被关闭,sessionStorage 中的数据就会被清除。但是,刷新页面不会清除sessionStorage中的数据,它只在会话终止时(即窗口关闭)才消失。
总结:
- Cookie 生命周期可由开发者设置,既可以是临时(会话)也可以是持久(根据过期时间)。
- localStorage 数据始终存在,除非主动删除。
- sessionStorage 数据仅在浏览会话期间存在,窗口或标签关闭后数据不再保留。