四者的异同

特性 Session   Cookie localStorage sessionStorage
数据的生命期   在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。 一般由服务器生成,可设置失效时间,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小 大小没有限制 4K左右 一般为5MB
与服务器端通信 由服务器端创建,比cookie安全, Session完全依赖于Cookie,所以cookie的缺点同样是session的缺点 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 仅在客户端(即浏览器)中保存,不参与和服务器的通信

localStorage和sessionStorage操作

localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等

localStorage和sessionStorage的方法

setItem存储value

用途:将value存储到key字段

sessionStorage.setItem("key", "value");     
localStorage.setItem("site", "baidu");

getItem获取value

用途:获取指定key本地存储的值

var value = sessionStorage.getItem("key");     
var site = localStorage.getItem("site");

removeItem删除key

用途:删除指定key本地存储的值

sessionStorage.removeItem("key");     
localStorage.removeItem("site");

clear清除所有的key/value

用途:清除所有的key/value

sessionStorage.clear();     
localStorage.clear();

其他操作方法:点操作和[ ]

web Storage不但可以用自身的setItem,getItem等方便存取,也可以像普通对象一样用点(.)操作符,及[]的方式进行数据存储,像如下的代码:

var storage = window.localStorage; 
storage.key1 = "hello";
storage["key2"] = "world";
console.log(storage.key1);
console.log(storage["key2"]);

php中Session和Cookie的使用

session

sesstion_start(); // 首先开启session

1>创建和更新

$_SESSION['user'] = 'username'; // 添加session 把username存在里面

2>删除session

// 删除session值,但保留数据类型
$_session['session键值'] = array();
// 删除cookie中的session_id
$session_id = session_name();
setCookie($session_id,"",time()-);
// 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session_id
session_unset();
// 删除当前用户对应的session文件以及释放session_id,但内存中的$_SESSION变量内容依然保留
session_destroy();

3>获取session

echo $_SESSION['user']; // 直接输出 username

cookie

1>创建和更新

setCookie($cookieName,$value,time()+秒数);

实例:setcookie("UserName","cnblogs",time()+***);

2>删除Cookie

setcookie($cookieName,value,time()-秒数);
//或者
setcookie($cookiename, '');
//或者
setcookie($cookiename, NULL); 实例:setcookie("UserName","cnblogs",time()-);

3>获取cookie

$_COOKIE['UserName'];

最新文章

  1. 攻破JAVA NIO技术壁垒
  2. 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例
  3. 【BZOJ-1369】Gem 树形DP
  4. 洛谷 P1462 通往奥格瑞玛的道路 Label: 最小化最大值 && spfa (存多条边示例)
  5. android-数据存储之手机内部file存储
  6. 使用vs2013打开vs2015项目
  7. NGUI 减少drawcall规则
  8. net中前台javascript与后台c#函数相互调用
  9. 走进React的学习之路
  10. 使用Visual Studio创建映像向导(Image Sprite)——Web Essential
  11. PMD教程
  12. Android调用binder实现权限提升-android学习之旅(81)
  13. 用calc()绘制手机图案解锁的九宫格样式
  14. Python神器 Jupyter Notebook
  15. 读HashMap 源码(jdk11)的见解
  16. 痞子衡嵌入式:恩智浦LPC系列MCU开发那些事 - 索引
  17. Confluence 6 指定日志选项和已知问题
  18. LeetCode-Microsoft-Remove K Digits
  19. opencv3.2.0图像对比度与亮度调整
  20. CodeForces 915D Almost Acyclic Graph

热门文章

  1. angular6 multipart/form-data Post
  2. python--基础知识点梳理(二)面向对象
  3. #3146. 「APIO 2019」路灯
  4. cmd命令详解
  5. Web前端——Html常用标签及属性
  6. 练手WPF(一)——模拟时钟与数字时钟的制作(中)
  7. C# 同步转异步 AutoResetEvent
  8. XML的互相序列化对象
  9. 使用element-ui的el-menu导航选中后刷新页面保持当前选中
  10. 关于UIScollView中的contentOffset的理解