Cookie
cookie是浏览器自带,在客户端可以用来保存用户信息的一种方式,通过JavaScript可以增删改查cookie中的数据,一般会根据业务来决定是否设置过期时间:
-
没有设置失效时间(会话cookie);
1 关闭浏览器;
2.手动清除Cookie; -
设置时间;
1.时间到了失效,即使关闭了浏览器也不会被清除,因为cookie信息被保存在了硬盘上,浏览器再次打开的时候就会读取硬盘上的数据,而且不同的浏览器之间是可以共享的;
2.手动清除Cookie;
Session
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息,key值就是session id。当客户端第一次请求的时候并没有携带session id,此时服务器端就会创建session并在本次请求中将session id返回给客户端保存在cookie中,这个操作都是后台自动完成的;
如何定义session失效,一般情况下session真正的失效(即在服务器端被删除)是取决于服务器端设置的session过期时间,所以很多网站在长时间不操作页面再次操作的时候发现跳到了登录界面,这就是因为在前后端交互还采取session作为保存数据的时期,就会将session失效作为重新登录的依据;
然而,通常情况下,我们所说的失效是指我们无法继续对其进行利用。
显而易见的,因为session id是保存在cookie中的,因此session是否还可以继续使用就完全依靠cookie的生效与否了,因此当cookie失效后,服务器端等过期时间到了才会自动删除,只是这个session便没有什么用了;