- 后端一般利用服务器的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登陆总结
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...