- 用户在浏览器中输入用户名密码信息,点击提交;
- 浏览器发出http request,用户信息存放在请求的body中;
- 服务器接收到request之后,读取用户信息,在DB中与用户信息表对照,验证用户是否存在;
- 如果用户不存在,发送http response到浏览器,浏览器进行渲染后显示提示信息:用户名/密码不存在;
- 如果用户存在,首先在服务器端的内存中生成一条session信息,然后将生成的session-id和对应路径下的资源等response给客户端浏览器,浏览器接受到信息后将session_id信息存储到cookies中,进行渲染后展示登录成功后的页面;
- 之后再次访问这个路径的其他资源如/posts时,会将session_id放在http request的header中,服务器端将请求中的session_id与缓存中的session进行匹配,存在且未超期时,直接返回请求的/posts资源;当session_id不存在或者已超期,则返回提示登录的response。
转载于:https://www.cnblogs.com/mercycnblog/p/8705597.html