session相关

网上关于这块的介绍是挺多的,但是对于新人,尤其是从前端转过来的根本不能了解到本质。
session是服务器端存放在内存或文件或数据库等地方的一块区域。
他可以看做是一个仓库store,要想拿到对应的对象,需要有一个钥匙,即一串唯一的标识,这个标识就是session_id,他由服务器端设置生成,并返回给浏览器,浏览器在每次的请求中,在headers里的cookie里会携带特定名字的字段以及其对应的上面提到的session_id,服务器端判断是否有session_id 名字对不对(cookie里session_id对应的key值,比如sid=asdjajshdjhs121312kasds,这个名字默认是一个值,也可以通过服务器端来设置),对应的session_id在session仓库里是否存在对应的对象,存在的话就返回那个对象,这都是自动的,不用你去比对,然后你可以对这个对象进行添加或删除或销毁。其他自己设置的属性和值,你可以去用,想怎么用怎么用。
**
默认开启session,然后每次请求后,其实都会有session_id了,但是通过用户名密码的验证后,我们可以将用户的id或者其他存入session,只要下次能读到用户的id,就说明他已经通过验证了,也就是说不必每次都验证,以后只要操作其他就可以了。
**

不同的用户访问网站时都会分配不同的SESSIONID,关闭浏览器后,再次打开也会分配不同的SESSIONID。SESSION本来就是与用户相关的,通过来讲只要验证SESSION中的userid是否存在即可。存在SESSION['userid']就代表着这是一个经验验证的用户。因为只有通过验证后,才会把userid写入SESSION。

密码只在一些必须的操作时,要求再次输入进行。SESSION中不存,是不需要存,而不是每次都需要到数据库中去查询对比。

设置了httpOnly为true那么session_id在客户端是打不出来的。否则是可以查看和修改的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 摘自 <<精通 Java Web 开发>> 1 Session的作用 Session 用于维护同一客户端发送的多个...
    貘鸣阅读 3,720评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 转自 :http://blog.csdn.net/taoff/articles/1921009.aspx 一、术语...
    stone_yao阅读 11,388评论 0 31
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,494评论 11 349
  • 时间过得好快,从五月五日开始的21天挑战暗线哆唻咪又结束了,每晚木木老师召集大家召开算命大会,她像小蜜蜂一样勤劳...
    墨蘭阅读 2,755评论 0 4

友情链接更多精彩内容