cookie(浏览数据标记)
一种存储在浏览器中的数据.
当浏览器发起 http 请求 , 服务器 会进行 cookie设置(set-cookie), 将cookie里面的值填充完整, 再发给浏览器,
浏览器会保存起来这个cookie, 这样, 浏览器以后每次发起http请求 ,都会自动带上这个cookie..
Cookie 中的信息存储在浏览器中,, 是比较不安全的,因此session的作用 就可发挥了
风险:存在浏览器里容易被篡改或偷看,只适合存标识,不适合存秘密。
session(会话)
本质:服务器为了认出"回头客"而建立的会话机制
当前浏览器 发起一个 ,带着用户名和密码 的登录请求 , 服务器端 先核对 用户名和密码 , 如果是对的,身份认证成功, 就会创建一个 sessionId ,和会话结束时间 . 因还需要将这些信息发给浏览器, 这里就用到了cookie ,将sessionId 设置到cookie中返回 . 之后,浏览器每次向该服务器发请求,都会自动在请求头中带着这个Cookie。服务器拿到Cookie里的sessionId后,去自己的内存(或Redis)里一查,就知道是哪个用户了. 浏览器保存的不是用户的信息,而是一个sessionId(在cookie中),而根据这个id 可以在服务器端查询到用户信息
-
流程:
-
登录:浏览器发账号密码。
-
核验:服务器核对正确。
-
生成:服务器生成了一个乱码 SessionId,并记录过期时间。
-
下放:服务器把 SessionId 借用 Cookie 塞给浏览器(
Set-Cookie)。 -
查询:浏览器下次再来,带着 SessionId,服务器拿着它去后台数据库/内存里查这个人是谁。
-