欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于两个页面的session问题

程序员文章站 2022-05-22 08:46:05
...
有这个的一个业务环境。
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...。
这是很常见的问题咯。