下面是带你了解session和cookie作用原理区别和用法的完整攻略。
下面是带你了解session和cookie作用原理区别和用法的完整攻略。
什么是Session和Cookie?
Session和Cookie都是用于网站管理和储存状态的技术。其中,Session是在服务器端管理状态,而Cookie是在客户端管理状态。
Cookie
Cookie是一小段文本信息,存储在用户的计算机中。当用户访问网站时,网站服务器会将Cookie发送至用户计算机中,每次用户访问该网站时,用户计算机会自动将该Cookie发送至服务器,以便服务器可以判断用户是否已经登录,或是否需要记住某些首选项等信息。
Session
Session是在服务器端创建的一段储存用户状态的数据,它与用户的浏览器通过Cookie进行交互。一旦用户使用浏览器访问服务器,服务器会创建一个Session,并在用户浏览器中发送一个Cookie,Cookie将Session ID(会话标识符)放在其中。在以后的请求中,客户端会发送这个Cookie,服务器端会根据Session ID来查找相应的会话,并返回储存在服务器端的信息。
Session和Cookie的区别
- 数据存储位置不同:Cookie在客户端存储,而Session在服务器端存储。
- 储存方式不同:Cookie以文本方式储存,只能储存字符串类型的数据而Session则可以储存多种数据类型。
- 安全性不同:因为Session是保存在服务器端的,所以比Cookie安全,Cookie易受到攻击。
- 生命周期不同:Cookie可以设置失效时间,而Session只要关闭浏览器或者超过了Session过期时间就会失效。
Session和Cookie的用法示例
Cookie示例
// 存储Cookie
document.cookie = "username=张三"; // 存储一个名为username,值为“张三”的Cookie。
// 读取Cookie
function getCookie(name) {
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)){
return unescape(arr[2]);
}else{
return null;
}
}
var username = getCookie("username"); // 读取名为username的Cookie。
Session示例
PHP实现方式
// 存储Session
session_start();
$_SESSION['username'] = '张三';
// 读取Session
session_start();
$username = $_SESSION['username'];
Node.js实现方式
const session = require('express-session');
app.use(session({
secret: 'secret',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
// 存储Session
req.session.username = '张三';
// 读取Session
var username = req.session.username;
以上是带你了解Session和Cookie作用原理区别和用法的完整攻略,希望能帮助到你。
本文标题为:带你了解session和cookie作用原理区别和用法
基础教程推荐
- Web面试常问回流reflow与重绘repaint原理及区别 2024-04-02
- 一个JavaScript获取元素当前高度的实例 2024-01-08
- JS前端轻量fabric.js系列之画布初始化 2024-03-12
- JS实现登录页面记住密码和enter键登录方法推荐 2023-12-01
- 分享8个JavaScript库可更好地处理本地存储 2024-03-21
- Ajax中文传值出现乱码的解决办法 2022-11-22
- 详解javascript获取url信息的常见方法 2024-02-09
- 如何解决外边距margin叠加的问题探讨 2024-01-24
- React Native学习之Android的返回键BackAndroid详解 2024-02-09
- Vue 中对计算属性的一点理解 针对get set方法 2023-10-08