Session在网络应用中被称为会话,是有服务器维持的一个在服务器中的存储空间,用户在连接服务器时,会由服务器生成一个唯一的session id,用该 Session id 为标识来存取服务器端的session 存储空间。
1. 基于HTTP 协议的无状态特征,服务器根本就不知道访问者是“谁”。
2. 可以给每个客户端的cookie分配一个唯一的 id ,这样用户在访问时,通过cookie,服务器就知道是‘谁’。
3. 然后根据不同的cookie的id,对应的session中保存私密资料,如“账号密码”
Cookie和Session的区别
Cookie本身最大支持4096字节,cookie本身保存在客户端,可能被拦截或窃取;
Session 可以支持更多字节,被保存到服务器,有较高安全性
1.用户请求使用session页面时,web服务器产生session和一个session id 并返回临时cookie(key=session id);
2. 用户第二次请求session页面会自动带上cookie信息,web服务器接受请求并通过session id读取session,把信息返回用户。
3. Session ID 是保存在客户端的,用cookie保存,用户提交页面时,会将这一session id 提交到服务器,来存取session数据。这一过程是不用开发人员干预的。
4. 一旦客户端禁用cookie,那么session也会失效。