session、cookie和sessionStorage、localStorage

session 和 cookie

  • 了解概念
    1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
    2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
    3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
    4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
    5、可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。

  • 什么是cookie?
    cookie是将数据持久化存储到客户端的一种技术。
    网站可以将数据写到浏览器中, 一个网站最多能在一个浏览器写20个cookie。
    一个浏览器能够设置的总cookie数最多为300个,每个不能超过4kb。
    cookie既能保存在文件中,也能保存在内存中。

  • 设置cookie
    设置cookie

     setcookie(var1 , var2, var3);
     var1: cookie的名称
     var2: 名称对应的值, 可选参数  
     var3: cookie的有效期, 可选参数
     setcookie函数的参数3可以控制cookie有效期参数3设置为-1 或者不设置,关闭浏览器即失效参数3设置为 time()+秒数,则在当前时间点的多少秒之后失效
    

    删除

    setcookie函数第二个参数设置为null,就可以删除cookie
    setcookie('name', null);
    
  • cookie补充:
    ①使用$_COOKIE 预定义数组来读取cookie
    ②cookie的有效范围: 当前目录及子目录;上级目录无效

  • session小结:
    ①将数据保存在服务器端,安全性高,但是不能保存大量的数据。一般来讲session当中保存的都是用户信息。
    ②使用session时,首先要使用 session_start函数开启session
    ③设置和读取session时,都是用$_SESSION['name'] = 'zs'; $_SESSION['name'];
    ④session的有效范围,在一个域名下设置session,在整个域名范围内都有效
    ⑤session有效期: 关闭浏览器,session就消失
    ⑥删除session
    unset($_SESSION[‘name’]);
    删除单个session
    session_destroy();
    删除所有session

    如果没有cookie的支持,session是用不了的。
    cookie中只能存字符串类型的数据,session中可以存各种类型数据。

sessionStorage 和 localStorage

  • Web存储
    随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5 规范提出了相关解决方案。

  • window.sessionStorage
    ①生命周期为关闭浏览器窗口
    ②在同一个窗口(页面)下数据可以共享
    ③大小约 5M
    ④只能存储字符串,对象类型通过 JSON.stringify() 编码后存储

    window.sessionStorage用法:
    ①设置:
         var storage  =  window.sessionStorage;
         storage.setItem("name", dzx); 
         或
         sessionStorage.setItem("name", "value");
    ②获取:
         var storage  = window.localStorage;
         或
         var site = sessionStorage.getItem("name");
         var val = storage.val;
    ③删除:
         storage.removeItem("name");
    
  • window.localStorage
    ①永久生效,除非手动删除(服务器方式访问然后清除缓存)
    ② 可以多窗口(页面)共享
    ③大小约 20M
    ④只能存储字符串,对象类型通过 JSON.stringify() 编码后存储

    ▶window.localStorage用法:
    ①设置:
         var storage  =  window.localStorage;
         storage.setItem("name", dzx);
         或
         localStorage.setItem("name", "value");
    ②获取:
         var storage  =  window.localStorage;
         或
         var name= localStorage.getItem("name");
         var val = storage.val;
    ③删除:
         storage.removeItem("name");
    
  • 总结
    ①setItem(key, value) 设置存储内容
    ②getItem(key) 读取存储内容
    ③removeItem(key) 删除键值为key的存储内容
    ④clear() 清空所有存储内容

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值