繁体   English   中英

IE response.redirect

[英]IE response.redirect

今天,我在IE中遇到了一个非常奇怪的问题。 每次尝试执行response.redirect十次以上时,IE都会失败! 当然,该页面在FF和Chrome中可以正常工作。 有没有其他人经历过这样的事情?

这是一些代码片段,以确保我没有做任何公然的错误...

if ( iDomain < ubound(aDomain) ) then
    Response.Redirect "/home/login/a_logout.asp?site=" & strSite & "&domain=" & iDomain+1 & "&l=" & ilogout & "&s=" &sSid
end if

数组

Dim aDomain(10)

aDomain(0) = ".x.com"
aDomain(1) = "www.x.com"
aDomain(2) = "w1.x.com"
aDomain(3) = "w2.x.com"
aDomain(4) = "x.com"
aDomain(5) = "w3.corporate.x.com"
'aDomain(5) = "w4.x.com"
aDomain(6) = "w5.x.com"
aDomain(7) = "w6.x.com"
'aDomain(8) = ""
'aDomain(9) = "w8.x.com"
aDomain(8) = "w9.x.com" 
aDomain(9) = "w10.x.com"

删除了上下文相关数据。

让我知道您是否需要其他信息。 谢谢!

这是默认行为,可防止用户无限循环回到同一页面。

IE8的同一页面限制为10个请求,我认为Chrome和FireFox限制为20个。

不,我发现自己不同的查询字符串不会构成新页面。

我强烈建议您更改此设置。 多次重定向是一个非常糟糕的主意。

相反,只要在本地通过a_logout页面运行任何代码即可。 我假设您要清除几个Cookie。 继续,然后重新发送所有具有空白数据的适当Cookie,并且昨天的时间到期。

如此频繁的重定向显然错误的。 理想的最大重定向数量是1。实际上,如果您允许执行更多的任务,则执行某些任务可能会容易得多,但是在任何地方进行超过5次重定向都应视为一个错误(在同一服务器或同一服务器上超过1次)超过3个与另一台服务器交叉的服务器应被视为次优,但并不急于解决)。

浏览器不能依靠服务器永远不会做任何公然的错误,因此经过几次尝试后,他们放弃了将用户从服务器中拯救出来。 有时用户代理不能以这种方式保护自己(不是严肃的浏览器,但是编写一段简单的HTTP客户端代码是一个容易犯的错误)。 不好看

为了演示这有多严重,请考虑一种情况,其中/ somePath /?id = 1的处理程序重定向到/ somePath /?id = 2,该处理程序重定向到/ somePath /?id = 3,依此类推。 就服务器所知而言,您只是获得了一个更为晦涩的版本,并且将永远不会停止重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM