cookie,webStorage(localStorage,sessionStorage)

300 阅读1分钟

保存时长

  • cookie:默认保存在内存中,关闭浏览器后失效,如果设置过期时间则在过期时间后失效
  • localStorage:一直生效除非主动清除
  • sessionStorage:仅当前会话有效,关闭页面或浏览器后失效

存储大小

  • cookie:4KB
  • webStorage:5MB(浏览器不同可能不同)

HTTP请求

  • cookie:会携带在HTTP头中,有一定的性能影响
  • webStorage:仅在客户端存储

使用

  • cookie:document.cookie可得到所有cookie
  • localStorage:
    set: localStorage.setItem(key, value)
    get: localStorage.getItem(key)
    remove: localStorage.removeItem(key)
    clear: localStorage.clear() // 清除所有
    
  • sessionStorage:
    set: sessionStorage.setItem(key, value)
    get: sessionStorage.getItem(key)
    remove: sessionStorage.removeItem(key)
    clear: sessionStorage.clear() // 清除所有
    
  • cookiewebStorage只能存储string类型数据(可使用JSON相关API实现存储object