Cookie和Session都是用于在HTTP协议中维持状态的机制。主要区别如下:
- 存储位置:Cookie存储在客户端浏览器中;Session存储在服务器上。
- 数据安全:Cookie不加密,数据安全性低;Session数据存储在服务器上,安全性高。
- 存储大小:Cookie数量和大小都受限;Session数据量较大。
- 生命周期:Cookie生命周期受浏览器限制;Session生命周期由服务器管理。
它们的主要作用是:
- 会话管理:识别用户和维持会话,实现网站个性化。
- 购物车:存储购物车商品信息,实现下订单等功能。
- 身份认证:结合登录信息实现身份认证,鉴权等。
代码示例:
Cookie设置和读取:
php
// 设置Cookie
setcookie('name', 'John', time() + 3600);
// 读取Cookie
echo $_COOKIE['name']; // John
Session设置和读取:
php
// 开启Session
session_start();
// 设置Session
$_SESSION['name'] = 'John';
// 读取Session
echo $_SESSION['name']; // John
购物车示例:
php
// 添加商品到购物车(Cookie)
setcookie('cart', $itemString);
// 获取购物车商品(Cookie)
$cart = $_COOKIE['cart'];