文章目录
前端登录
Cookie+Session
HTTP 是一种无状态的协议,客户端每次发送请求时,首先要和服务器端建立一个连接,在请求完成后又会断开这个连接。这种方式可以节省传输时占用的连接资源,但同时也存在一个问题:每次请求都是独立的,服务器端无法判断本次请求和上一次请求是否来自同一个用户,进而也就无法判断用户的登录状态。
为了解决HTTP无状态的问题,有了Cookie的出现。
Cookie 是服务器端发送给客户端的一段特殊信息,这些信息以文本的方式存放在客户端,客户端每次向服务器端发送请求时都会带上这些特殊信息。
有了Cookie之后,服务器端就能够获取客户端传过来的信息了,如果需要对信息进行验证,还需要通过Session。
登录验证过程
首次登陆时:
- 用户访问x.com,并输入密码登录。
- 服务器验证密码无误后,创建
SessionId
,并将它保存起来。 - 服务器端响应这个 HTTP 请求,并通过
Set-Cookie
头信息,将SessionId
写入 Cookie 中。
后续登陆时:
- 用户访问x.com时,会自动带上第一次登录时写入的Cookie。
- 服务器比对Cookie中的
SessionId
和保存在服务器端的SessionId