服务器利用Session登陆总结

  • 后端一般利用服务器的session和浏览器的cookie来验证用户。具体原理
    • 首先客户端发送请求,一般发送用户名和密码
    • 服务器收到请求,验证用户后,在响应头里使用Set-Cookie属性设置浏览器的cookie
    • 之后浏览器每次发起请求都会在请求头里自动带上Cookie
    • 后端收到请求后,就可以更新该用户对应的session的最近更新时间,相当于激活一次
    • 由于用户关闭浏览器后,并不会主动告知服务器已下线,所以服务器的session一直保存在内存中。为了防止大量session导致服务器内存溢出,因此session一般有一个过期时间,过期时间到了就销毁session,回收内存
  • cookie属性
    • maxAge: maxAge决定着一条cookie的有效时间,默认为-1;如果maxAge大于0,比如为60,那么60s后该cookie过期,过期后该cookie将不会被发送到服务器并且会被删除;如果maxAge等于0,则会删除之前的同名cookie(cookie的修改和删除只能通过新建同名cookie,设置想要改变的属性值,并通过response覆盖浏览器的同名cookie来实现);如果maxAge小于0,则该cookie在浏览器关闭时会被清除;
    • domin: 规定了哪些域名可以接受该cookie;
    • path: 规定了主机下的哪些路径可以接受该cookie;
    • secure: 规定了该cookie只能发送给https站点,但安全性依然没有保障,需要对cookie进行加密解密
    • httponly: 非常实用,js无法获取到该属性标记的cookie,降低泄露的可能

你可能感兴趣的:(服务器利用Session登陆总结)