1、HTTP协议的无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器。简单的说,就是服务器不会去记得你(无法保存状态),所以就是无状态协议。
2、保存用户状态的两大机制
- Session
- Cookie
3、Cookie简介
Cookie:中文名称为“小甜饼”,是web服务器保存在客户端的一系列文本信息。
典型应用一:判定注册用户是否已经登录网站。
典型医用二:“购物车”的处理。
典型医用三:系统会自动记录已经浏览过的视频。
典型医用四:记住用户名和密码实现自动登录功能。
Cookie的作用
- 对待定对象的追踪
- 保存用户网页浏览记录与习惯
- 简化登录
Cookie安全风险
容易泄露用户信息
4、Cookie的创建与使用
创建Cookie对象
Cookie newCookie = new Cookie(String key, Object value);
写入Cookie对象
response.addCookie(newCookie);
读取Cookie对象
Cookie[] cookies = request.getCookies();
常用方法:
void setMaxAge(int expiry); //设置cookie的有效期,以秒为单位
void setValue(String value); //在cookie创建后,对cookie进行赋值
String getName(); //获取cookie的名称
String getValue(); //获取cookie的值
int getMaxAge(); //获取cookie的有效期,以秒为单位
5、Session与Cookie的对比
Session
- 在服务器端保存用户信息
- session中保存的是Object类型
- 随会话的结束而将其存储的数据销毁
- 保存重要的信息
Cookie
- 在客户端保存用户信息
- cookie中保存的是String类型
- cookie可以长期保存在客户端
4.保存不重要的信息
6、cookie实现登录记住密码的功能