cookie和session的区别

本文详细解释了cookie和session的工作原理及区别。cookie数据保存在客户端,可被客户端脚本修改;而session数据保存在服务器端,通过sessionID进行跟踪。此外,文章还介绍了如何设置session的过期时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、cookie

cookie数据保存在客户端(设置过期时间expires则同时保存在磁盘上,否则只保存在内存中),可被客户端脚本修改,当向服务器发送请求时,(在已经开启会话的前提下sesseion_start)会携带本地的cookie信息(假如有的话)一起发送出去,cookie是不安全的,单个cookie在客户端的大小显示是3k。

2、session

session数据保存在服务器,同时服务器发送sessionid给浏览器并在浏览器中生成名为jsessionID的输出cookie(称为session cookie,保存在浏览器内存中,如果服务器对该cookie设置了expires则同时会保存到磁盘上),

如果没有设置session cookie过期期限则session是针对某一次会话而言,当该次会话结束时(关闭浏览器),相应的session cookie也就消失了(因为是保存在内存当中)。session基于cookie和url重写,默认使用cookie,当浏览器禁用cookie时,采用url重写的方式向服务器传递sessionID。


总结:session只在浏览器端存储一个标识该session的串作为cookie,可以通过这样来设置session的过期期限setcookie(session_name(), session_id(), time() + $lifeTime, "/");另外服务器端设置cookie(setcookie())必须在有内容输出之前执行,否则会失效!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值