cookie和session存在的原因
cookie和session的存在取决与HTTP请求的无状态的特点,也就是说HTTP请求的信息不会进行保存,导致的问题就是没办法将两次请求的数据之间进行联系cookie和session可以解决这个问题
什么是cookie
cookie:是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。对于无状态的HTTP协议,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。
什么是session
session:代表的是服务器与客户端的一次对话的过程,session对象储存用户的信息来保证登录状态,使得可以在页面之间相互跳转。可以通过以上的方法设计过滤器(当用户登录的时候将用户信息存储到session中,由此就可以实现,当session中没有用户信息时,拦截路径,返回到登录页面)。
session是保存在服务器端的特定用户会话所需的属性及配置信息。
sessionId:当浏览器第一次访问服务器时,服务器创建一个session对象(该对象有一个唯一的id,一般称之为sessionId),服务器会将sessionId 以cookie的方式发送给浏览器。 当浏览器再次访问服务器时,会将sessionId发送过来,服务器依据 sessionId就可以找到对应的session对象。
当浏览器关闭的时候,session并不会在服务器端被清除,只有当session超时失效才会被清除。