zoukankan      html  css  js  c++  java
  • session,cookie,sessionStorage,localStorage的区别~~~前端面试

     在浏览器中存储当前用户专用数据[购物车]
       注意:在客户端存储数据最基要求,安全性要求低数可以保存浏览器
       密码:安全性高数据     购物车:安全性低数据
       客户端存储数据
       (1)Cookie        浏览器兼容性好,不能超4KB,操作复杂
       (2)Flash         依赖Flash播放器
       (3)Web Storage  不能超8MB,操作简单
       (4)IndexDB      存储量大,还不标准

    Session:会话(操作过程)浏览器从打开某个网站的第一个页面开始
    (会话开始)中间可能打开多个网页(会话中)直到关闭浏览器(会话结束)
    整个过程称为:"浏览器与web 服务器的一次会话"
     webstore技术中浏览器为用户提供二个对象
       -sessionStorage
        此对象仅供此次会话所有页面共同使用,一旦关闭浏览器则
        数据消失
        (1)获取数据 var value = sessionStorage.getItem(key)
                    var value = sessionStorage[key];
        (2)修改数据 sessionStorage.setItem(key,value)
                    sessionStorage[key] = value;
        (3)清除数据 sessionStorage.clear();
                    sessionStorage.removeItem(key)
        (4)其它     sessionStorage.length  数据个数
                   var key = sessionStorage.key(i);

       练习:使用sessionStorage保存用户名
           创建index.html 右上角显示 "请登录" 超链接
           创建login.html 输入用户名 提交按钮
           用户点击提交按钮 提示:登录成功 3s后跳转首页
           setTimeout()+location.href

       -localStorage
        此对象供此次会话以及后续会话使用,即使浏览器关闭数据存在

    cookie&&session

    区别:

    1、保持状态:cookie保存在浏览器端,session保存在服务器端

    2、使用方式:

    (1)cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie。如果在浏览器中设置了cookie的过期时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。

         Cookie是服务器发给客户端的特殊信息

    (2)session机制:服务器端内存中保存用户私密信息的存储空间,在首次请求服务器时,服务器为当前客户端创建一个专门的内存存储空间,成为session,并分配随机的session_id,返回给客户端保存在cookie中,每次客户端请求服务器时,都自动携带cookie和session_id到服务器,可打开session,取出session中保存的数据使用如果客户端长时间未请求服务器,服务器自动删除该客户端对应的session。

    关闭浏览器,会导致cookie中的session_id丢失,再次打开浏览器访问服务器时,服务器会分配新的session和session_id,原session即使未释放,也无法访问.

    HTML5的WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话存储)。

    生命周期localStorage:localStorage的生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失。

           sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不一样的。

    存储大小:localStorage和sessionStorage的存储数据大小一般都是:5MB

    存储位置:localStorage和sessionStorage都保存在客户端,不与服务器进行交互通信。

    应用场景:localStoragese:常用于长期登录(+判断用户是否已登录),适合长期保存在本地的数据。sessionStorage:敏感账号一次性登录;

    想要这样一间小木屋,夏天挫冰吃瓜,冬天围炉取暖.
  • 相关阅读:
    如何使用谷歌的网页删除请求工具?
    已有记录表添加特定排序主键ID
    用ASP实现超长内容的word模板替换objDoc.Content.Find.Execute
    内网SMTP发送失败的曲线救国之策
    IIS无法在后台生成WORD文件的故障
    WINDOWS2003进行WindowsFTP设置的一些注意事项
    解决IISASP调用XmlHTTP出现msxml3.dll (0x80070005) 拒绝访问的错误
    [转]Cate:我是如何准备Google面试的
    Ubuntu的启动配置文件grub.cfg(menu.lst)设置指南
    Linux启动过程详解
  • 原文地址:https://www.cnblogs.com/lianer88/p/9927250.html
Copyright © 2011-2022 走看看