session 是保存在服务器端的,比如文件中、Redis、MySQL
现在有很多客户端请求服务器,服务端也生成了很多 session,那么客户端每次请求是如何找到属于他的 session 呢?
原来每个客户端请求服务器时,服务器生成 session 时,都会给这个 session 分配一个唯一 id, 用来标识这个 session, 存到文件时,文件名就是这个 id,存到 Redis 时,Redis 键就是这个 id。
然后再把这个 id 返回到客户端,并告诉客户端保存到 cookie 中。
header 响应
set-cookie:sessionid=123456
下次客户端访问就会带上这个 cookie,服务端拿到 cookie 里的 id,找到 session,读取里面保存到数据。