网站1调用网站2上的文件,网站2上的文件此时产生的session及cookie是网站1的还是网站2的
两个站点,三个页面,
http://www.bjjytz.com/test/ok.asp
http://www.yongfa365.com/test/c.asp
http://www.yongfa365.com/test/d.asp
第一个站点下的
http://www.bjjytz.com/test/ok.asp
会以图片地址的形式调用第二个站点下的
http://www.yongfa365.com/test/c.asp
同时c.asp生成一个session及cookie
我认为这个session及cookie应该是属性第二个站点的,所以直接在当前URL里输入第二个站点下的一个文件地址
http://www.yongfa365.com/test/d.asp
应该是可以继承这个session及cookie 的,
问题:在我机器上试过多次都是成立的,但在别人机器上,不管是2003还是xp都是不成立的,不知道为什么,请大家帮忙分析一下
------解决方案--------------------产生的session 和cookies 只和文件所在的域名有关系
也是就是www1.abc.com 产生的就是www1.abc.com 的
也是就是www2.abc.com 产生的就是www2.abc.com 的
http://www.yongfa365.com/test/c.asp
同时c.asp生成一个session及cookie
这个是属于 www.yongfa365.com 的
------解决方案--------------------那么这几台机器有什么不同之处吗?应该是网站2的才对
你可以试着清空IE临时文件夹,然后再测试,再查看生成的cookie,就很清楚了。
------解决方案--------------------session是存在于服务端,cookie存在于客户端。
cookie本来就是存在你自己机子里面的,无所谓什么继承。
session是服务端在你请求时产生,2个服务端都不同也无所谓什么继承。
------解决方案--------------------win2003 sp1
yongfa_session=yongfa365
yongfa_cookie=yongfa365
------解决方案--------------------SESSION在ASP中不能跨越连接池的吧?在.net下是可以的。不知是否与此有关。
------解决方案--------------------现在的大多情况是:cookie无效,session这样有效
先打开http://www.bjjytz.com/test/ok.asp
再打开http://www.yongfa365.com/test/d.asp 显示两个变量都为空
然后后退到http://www.bjjytz.com/test/ok.asp刷新
然后再前进到http://www.yongfa365.com/test/d.asp刷新,这时就可以看到session变量是有值 的。
不知道这是个什么原理,必须进入一次第二个页面,再进入第一个页面刷新一次,再进入第二页或这个站点里的别的页这个session才会生效
——————————————————————————————
你第一次打开http://www.yongfa365.com/test/d.asp 时候,http://www.yongfa365.com/test/d.asp 服务端产生一个SESSION,这个SESSION只有使用Abandon方法或超过时间(默认是20分钟)的时候才消失,所以你再进第一个页面后回到此页面SESSION还是存在,如果你等一段时间后进第一个页面,再回来,由于超时SESSION就消失了