客户端和服务器之间进行数据交互遵循的是HTTP协议, 此协议属于无状态协议(一次请求对应一次响应)响应完之后断开连接,服务器无法跟踪客户端的请求, 通过Cookie技术,在客户端给服务器发请求时,服务器会给客户端下发一个标识,之后客户端发出的每次请求都会带上这个标识,从而让服务器识别此客户端(类似于打孔式的会员卡), 但是由于Cookie的数据是保存在客户端的,存在被篡改的风险, 通过Session技术可以避免此问题, 因为Session的数据是保存在服务器的(类似于银行卡)
通过会话管理技术 保存的是客户端和服务器之间的数据, 数据库保存的是用户和服务器之间的数据
-
Cookie和Session对比
- Cookie: 数据保存在客户端(类似打孔式的会员卡)
- 保存时间: 默认数据保存在浏览器的内存中,当浏览器关闭时数据被清除, 也可以设置任意的保存时间, 如果设置了时间,数据则保存到客户端的磁盘(硬盘)中
- 数据类型: 只能保存字符串数据
- 应用场景: 记住用户名和密码
- Session:数据保存在服务器(类似银行卡)
- 保存时间: 只有半小时的保存时间, 由于所有客户端的数据都保存在一个服务器的内存中, 服务器内存资源比较紧张,所以不能保存太久
- 数据类型: 可以保存任意对象类型
- 应用场景: 记住登录状态
- Cookie: 数据保存在客户端(类似打孔式的会员卡)