localStorage和sessionStorage、cookie和session

905 阅读1分钟

localStorage和sessionStorage的区别和用法

  • 都是window对象提供的全局属性
  • 用途都是在浏览器中存储key-value的数据。
  • sessionStorage在关闭窗口或标签页之后将会删除这些数据。
  • 而localStorage则不会随着浏览器的关闭而被删除,除非你手动去删除,删除

总结

  • 如果你想在浏览器窗口关闭后还保留数据,请使用localStorage。
  • 如果你是想用于临时保存同一窗口(或标签页)的数据,请使用sessionStorage

用法

  • sessionStorage的用法
    • 设置sessionStorage: window.sessionStorage.setItem('name1','我是sessionStorage')
    • 获取sessionStorage: window.sessionStorage.getItem('name1');
    • 清除sessionStorage: window.sessionStorage.remove('name1');
    • 清空所有的缓存: window.sessionStorage.clear()
  • localStorage的用法
    • 设置localStorage: window.localStorage.setItem('name2','我是localStorage')
    • 获取localStorage: window.localStorage.getItem('name2');
    • 清除localStorage: window.localStorage.remove('name2');
    • 清空所有的缓存: window.localStorage.clear()

cookie和session的区别和用法

  • cookie
    • 是在浏览器(客户端)保存数据的,每次请求都会带过去到服务器(浪费带卡宽)----不安全(4k大小)
    • 我们一般可以在访问服务器之后,给浏览器(客户端)种一个cookie_id,然后每一个再请求服务端的时候把这个 cookie_id给带过去,这样就可以知道我们到底是什么,但是服务端的东西是可以更改的(不安全)
  • session
    • 和cookie的功能差不多

    • 保存数据,保存在服务器的----安全(服务器有多大就存多大)session不能独立存在,因为session是基于cookie的。

    • cookie中会有一个session的id,服务器就是利用session的id来找到session文件,并且进行读取和写入的 隐患:session劫持(比如别人拿了你的session_id去访问,那么他做的所有的事情都会记到你的头上) 理论上是存在的,也不能避免,但是可以缓解