一.Cookie
Cookie作用:位于客户端(如:本地浏览器),可存储少量的数据(4KB以下)。
主要用途有:
- 存储用户登录状态
- 跟踪用户信息(购物车内容、用户偏好设置、网站分析等)
Cookie可以理解为一个桶,桶里存放了很多东西,例如用户的状态、用户偏好设置等
用户登录验证使用Cookie流程:
客户端向服务端发送请求,然后服务端会返回一个Cookie给客户端,而这个Cookie中存在一个认证信息。这个认证信息可以是SessionID,也可以是Token令牌,也可以是别的。主要作用是:客户端再次发送请求时,服务器会验证这个Cookie中存储的SeeionID,如果正确就把数据返回。
简单抽象理解:
你朋友有了一个暗码,你给你朋友发送信息,你朋友接收到了,然后给你发了一个暗码,要求你之后发送信息必须存在这个暗码,以此来证明你的身份没有发生改变。
2.Session
Session用于在服务器端存储用户数据(数据量取决于服务器的内存),客户端仅存储一个标识符。也就是Cookie讲述中的第一次访问服务器时,客户端接收的SessionID,会和服务器的Session作匹配。
存储的是当前的会话数据,一旦结束会话,Session就会失效
作用是,你给你朋友发送了一个暗码,而这个暗码对应了你朋友的全部信息(姓名、性别、年龄等),你朋友给你发送信息时(Http请求)携带暗码,你会将信息中的暗码(SeesionID)进行查找,这样你就知道这是哪位朋友了!可以正常通信
注:浏览器中多个不同的网页,他们的Cookie都是隔离的,例如A网页给服务器发送Http请求,那么只发送A的Cookie。