Session和Cookie

Session

会话:我们这里是指某个web系统的会话, 指用户登录以后, 在退出以前, 都是一个会话.
退出的条件: 注销或超过系统设置的会话时间
Session的作用:用户登录时, 服务器保存用户身份信息(总的数据结构为: Map<String, Map<K, V>). 在之后访问敏感资源时, 通过请求中k = v, 服务端通过k获取v, 在map中获取到用户身份信息(session)

Session和Cookie
通过session, 解决了访问敏感资源,携带用户身份不安全的问题
session的实现方式有多种:
(1) 请求可能在url中的请求数据
(2) 请求和响应也可能在header头

Cookie

原理:客户端本地保存用户身份信息
使用场景:登录页面 xx天免登录、记住我、Remember me, 从本地获取用户信息
默认:本地Cookie保存的信息,每次请求的时候,都会在请求头中携带发送, 格式为Cookie:k1=v1&k2=v2… Cookie是区分域名的, 不同域名, 保存在不同的路径下
Session和Cookie
Session有很多种实现方式,请求/响应头携带Cookie信息, 只是一种实现方式
很多web服务器Session的默认实现方式都是采取Cookie实现.
tomcat默认的实现方式,采用Cookie方式来实现: 响应头Set-Cookie:xxx, 请求头Cookie, 因为Cookie的实现方式,浏览器会自动的保存数据在本地,每次请求的时候自动在请求头携带Cookie字段