听朋友说面试的时候,问了session机制,然后看了一会session机制。提到session,不得不提到cookie。总结几点:
1、session和cookie都是服务端生成的,cookie是服务端生成,然后存储在客户端;
2、并不是客户端的请求到达服务端就会生成session,是根据getSession(true)的方法决定的,也可以不生成session,但是session的用处很大,一般都会生成;
3、每个用户都会有自己的session,保持在无HTTP的状态下和客户端之间的状态的保持,sessionId是区别用户的标志,session中保存用户的信息,这样用户之间的session就不会出现混乱;
4、cookie中保存的是sessionId,每次请求都和响应,都会通过sessionId来通信;
5、如果客户端的cookie被禁用,我们会选用URL重写的方式,讲sessionId绑在URL最后。
补充:session合适删除:session是可以设置超时时间的,或者直接调用invalidate(),或者服务进程被停止。
ps:如有不对,希望指正,坚持学习,习惯积累,谢谢。