>  기사  >  백엔드 개발  >  关于两个页面的session问题

关于两个页面的session问题

WBOY
WBOY원래의
2016-06-06 20:13:291640검색

有这个的一个业务环境。
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...。
这是很常见的问题咯。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.