1.我打开一个登录页面,登录后,创建一个键为’login’的session。
2.我在同一个浏览器下打开第二个相同页面,session是已经存在的。(前一个页面不关
3.当我在第二个页面清除session后,第二个页面的session是已经清除了,但是第一个页面不刷新的情况下,session是否还存在?(我知道刷新后 session是没有了)
1.session是存在浏览器里的还是存在文件存储里的?
2.session和cookie存的地方是一样吗?(请别回答session存在服务器,cookie存在本地。谢谢!)
回复内容:
有这个的一个业务环境。
1.我打开一个登录页面,登录后,创建一个键为’login’的session。
2.我在同一个浏览器下打开第二个相同页面,session是已经存在的。(前一个页面不关
3.当我在第二个页面清除session后,第二个页面的session是已经清除了,但是第一个页面不刷新的情况下,session是否还存在?(我知道刷新后 session是没有了)
因为比较繁琐,请仔细阅读后回答。
小弟!感激不尽!
还几个问题
1.session是存在浏览器里的还是存在文件存储里的?
2.session和cookie存的地方是一样吗?(请别回答session存在服务器,cookie存在本地。谢谢!)
因为你在第二个页面把session删除了(可能你把用户登出了),也就是说服务器里把这个session删了,所以第一个页面的cookie就算还在也没用了
session相关信息是存储在服务器,php配置文件session.save_path是session保存的路径(主流一般是保存在缓存中如redis,memcache)。
cookie是保存在用户(客户端)的临时文件夹中,具体cookie路径可以百度,浏览器不同路径可能不同。
session和cookie的关系:现在绝大多数浏览器都支持cookie,用户访问页面后端生成session的同时会有一个session相关的cookie返回给客户端(cookie的名字是Session.name,cookie的值是session id),这个cookie就是session cookie。
浏览器安全策略 如果不支持cookie保存,网站可以以url传参的形式传递session id。
服务器判断 客户端的状态 就是通过session cookie里的session id来判断的,服务器通过session cookie里的session id来读取服务端对应session id 里面的相关信息。
google一下就有很多关于session和cookie的文章,说的都很详细的。
这里也有这种文章https://segmentfault.com/a/1190000003012…。
这是很常见的问题咯。