前传
- session和cookie的区别是什么
- session_id是什么
- session存储在哪里
- session 是随着浏览器的关闭而消失吗
答案
- session和cookie的最大区别是session存储在服务器端,cookie存储在客户端
- session是存储在服务端的一个文件中,格式是
user | s :9 :'xiaoming'; name| s:12:"jack";
- session 在客户端的表现为PHPSESSID,一般存储在客户端的cookie中,用于服务端和客户端的唯一性识别,不同的浏览器,同一个用户的session_id 也不相同。
- 一般服务端会给session设置有效期,超出有效期则用户需要重新登录
- 关闭客户端页面时,cookie会消失,所以客户端的sessionid也会消失,除非cookie设置时效
- session只有服务器主动删除时,服务器端的session才会消失
session 的垃圾回收机制
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440