Cookie(网页Cookie)
Cookie(网页Cookie)是一种存储在用户本地的小型文本文件,用于存储有关用户和网站的信息。它的大小限制较小(通常为4KB),而且在每次HTTP请求中都会发送到服务器。Cookie 可以设置过期时间,可以在浏览器关闭后依然保留,也可以设置为仅在会话期间有效。
Cookies.set('cookieName', 'value') // 写入cookie
Cookies.get('cookieName') // 读取cookie
Cookies.get() // 读取所有可见的cookie
Cookies.remove('cookieName') // 删除某项cookie值
用法示例:保存用户登录状态 例如,当用户在网站登录后,服务器可以将一个包含用户标识的 Cookie 存储在用户浏览器中。之后,用户每次访问该网站时,浏览器会自动发送该 Cookie 给服务器,服务器通过检查该 Cookie 中的用户标识,来判断用户是否已登录。
LocalStorage(本地存储)
LocalStorage(本地存储)是HTML5引入的一种持久化存储方案,它允许网页在浏览器本地存储数据。LocalStorage 可以存储大量数据(通常为5MB或更多),且在浏览器关闭后依然存在,除非用户手动删除。与 Cookie 不同,LocalStorage 的数据不会被发送到服务器,只在客户端使用。
// 通过setItem方法设置 window.LocalStorage.setItem(name, value)
// 通过getItem方法获取 window.LocalStorage.getItem('名称')
// 移除指定name的sessionStorage window.LocalStorage.removeItem(name)
// 清空所有sessionStorage window.LocalStorage.clear()
用法示例:保存用户偏好设置 假设一个网站提供了自定义主题颜色选项。用户可以在网站上选择自己喜欢的主题颜色,然后网站会使用 LocalStorage 将用户的主题颜色偏好设置保存在本地。这样,用户下次再访问网站时,网站就可以读取 LocalStorage 中的设置,展示用户喜欢的主题颜色。
SessionStorage(会话存储)
SessionStorage(会话存储)也是HTML5引入的一种本地存储方式,但与 LocalStorage 不同,SessionStorage 的数据仅在会话期间有效。会话结束时(通常是关闭浏览器标签页或窗口),SessionStorage 中的数据会被清除。SessionStorage 的容量通常与 LocalStorage 相同(5MB或更多)。
// 通过setItem方法设置 window.sessionStorage.setItem(name, value)
// 通过getItem方法获取 window.sessionStorage.getItem('名称')
// 移除指定name的sessionStorage window.sessionStorage.removeItem(name)
// 清空所有sessionStorage window.sessionStorage.clear()
用法示例:保存购物车内容 在一个在线购物网站中,用户在选购商品时,网站可以使用 SessionStorage 来暂时保存用户购物车的内容。当用户浏览网站的不同页面时,购物车的内容会保持一致,因为 SessionStorage 数据只在用户浏览会话期间有效,当用户关闭浏览器标签页或窗口后,购物车数据会被清除。
总体而言,Cookie 适合存储少量且需要在客户端和服务器之间传递的数据,而 LocalStorage 和 SessionStorage 更适合用于在客户端保持较大量的数据,但不需要与服务器通信。根据具体的需求和数据大小,可以选择合适的存储方式。