session,cookie,token
2019-03-04 本文已影响0人
luckee
session和cookie
session和cookie的区别
session是解决http协议是无状态的这一问题的方法(表单隐藏域也是一种办法),cookie是浏览器按照服务器要求的规则,将一些信息记录在客户端分为会话cookie(存在内存中,关闭浏览器即销毁)和持久cookie(存在硬盘或其他媒介,可以设置有效时间),一条cookie格式一般为名称,值,路径,域
,名称和值就是键值对,域是某个域名,路径是请求的资源的路径,域和路径描述了该cookie的范围。以后浏览器发送的请求在该范围之内,就会将cookie发送给服务器。
session保存在服务器(注意此处的服务器指的是像tomcat这样的中间件,不是提供服务的应用程序),服务器保存一个session对象,session对象类似于散列表,可以存储信息,客户端则保存一个与该session对应的session id(一般使用cookie保存,也可以用其他方式),一个常见的误解是,浏览器关闭了,服务器的session就会销毁,其实不是的,造成这个误解的原因是客户端一般采用会话cookie来保存session id,当浏览器关闭后,服务器中的session仍然还在,只不过客户端这边已经丢失了session id,因此无法再通过session id找到服务器中对应的session对象了。session在下列情况下被删除:程序调用HttpSession.invalidate();距离上一次收到客户端发送的session id时间间隔超过了session的超时设置;服务器进程被停止(非持久session)