美文网首页
sessionstorage,localstorage的异同点及

sessionstorage,localstorage的异同点及

作者: 粥蛋蛋 | 来源:发表于2019-04-04 14:16 被阅读0次

    sessionstorage和localstorage都属于html5的webstorage范畴,两者的出现克服了cookie带来的一些限制,当数据需要被严格限制在客户端时,不需要持续的将数据发送给服务器。

    webstorage的两个主要目标

    1. 提供一种在cookie之外存储会话数据的一种途径
    2. 提供一种可以存储大量跨会话存在数据的机制

    webstorage提供了两种api:localstoragesessionstorage

    1. 生命周期

    localstorage的期限是永久的,关闭页面或者浏览器之后也不会消失。localstorage除非使用localstorage.removeItem()移除,否则会一直存在。

    sessionstorage是仅在当前会话下有效,它引入了一个浏览器窗口的概念,只要这个浏览器窗口没有关闭,而是刷新或者进入了另一个同源页面,sessionstorage都不会消失,但是在关闭了浏览器窗口之后就会被销毁,同时独立的打开同一个窗口同一个页面,sessionstorage也是不一样的

    1. 存储大小

    两者的存储最大数据大小一般都是5MB

    1. 存储位置

    都保存在客户端,不与服务端进行通信

    1. 存储内容类型

    一般都只能保存字符串类型,对于复杂对象可以采用json的stringify和parse方法来做处理

    1. 获取方式

    window.localstorage和window.sessionstorage

    1. 应用场景

    localstorage常用于长期登录(+判断用户的登录状态),适合长期保存在本地的数据

    sessionstorage常用于敏感账号一次性登陆,如关闭当前页面再次打开页面就要重新登陆

    webstorage的优点:

    1. 存储空间更大

    cookie为4KB,而webstorage为5MB

    1. 节省网络流量

    不用像cookie一样每次请求都要传送到服务器,减少了客户端和服务器端的交互,节省了网络流量

    1. 对于那种用户浏览一组页面之后关闭浏览器数据就被丢弃的场景,sessionstorage很方便

    2. 快速显示

    从客户端本地取数据要比从服务器取快

    1. 安全性

    webstorage不用像cookie一样传送到服务器,避免被截获,但是仍然存在伪造问题

    1. WebStorage提供了一些方法,数据操作比cookie方便;
                  setItem (key, value) ——  保存数据,以键值对的方式储存信息。
    
             getItem (key) ——  获取数据,将键值传入,即可获取到对应的value值。
    
              removeItem (key) ——  删除单个数据,根据键值移除对应的信息。
    
              clear () ——  删除所有的数据
    
              key (index) —— 获取某个索引的key
    
    

    部分知识点参考自:https://www.cnblogs.com/cencenyue/p/7604651.html

    相关文章

      网友评论

          本文标题:sessionstorage,localstorage的异同点及

          本文链接:https://www.haomeiwen.com/subject/lmifiqtx.html