为什么需要cookie与session
HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;
Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。
那么什么是session与cookie
客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是 Session 对象,服务器可以利用 Session 存储客户端在同一个会话期间的一些操作记录。
Cookie 包括Web Cookie
和浏览器 Cookie
,它是服务器发送到 Web 浏览器的一小块数据。
服务器发送到浏览器的 Cookie,浏览器会进行存储,并与下一个请求一起发送到服务器。
通常,它用于判断两个请求是否来自于同一个浏览器,例如用户保持登录状态。
session如何判断用户的操作是在同一个会话内
服务器第一次接收到请求时,开辟了一块 Session 空间(创建了Session对象),同时生成一个 sessionId ,
并通过响应头的 Set-Cookie命令,向客户端发送要求设置 Cookie 的响应;客户端收到响应后,在本机客户端设置了一个 Cookie 信息,该 Cookie 的过期时间为浏览器会话结束。
接下来客户端每次向同一个网站发送请求时,请求头都会带上该 Cookie 信息(包含 sessionId )。
cookie的作用
Cookie 主要用于下面三个目的 会话管理:登陆、购物车、游戏得分或者服务器应该记住的其他内容 个性化 追踪:记录和分析用户行为