1. http协议的无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器。简单地说,就是服务器不会去记得你,所以就是无状态协议。
2. 保存用户状态的两大机制
(1). session
(2). Cookie
是Web服务器保存在客户端的一系列文本信息。
3. 创建使用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的有效时间,以秒为单位
4. session与cookie的对比
session:
(1). 在服务端保存用户信息
(2). session中保存的是Object类型
(3). 随会话的结束而结束,将其存储的数据销毁
(4). 保存重要的信息
cookie:
(1). 在客户端保存用户信息
(2). session中保存的是String类型
(3). cookie可以长期保存在客户端
(4). 保存不重要的信息
从安全性来考虑,session比cookie的安全性要高。