浏览器重定向(302)次数限制问题
問題:今天收到反饋說(shuō)退出在IE8下,出現(xiàn)問題,無(wú)法正常完成退出和跳轉(zhuǎn)。
接著對(duì)造成該問題的原因進(jìn)行了排查,發(fā)現(xiàn)退出的接口使用了跳轉(zhuǎn)的方式遍歷了一遍白名單域名,來(lái)進(jìn)行退出所有的域。在網(wǎng)上搜索了一下這樣做會(huì)有什么問題,了解到不同的瀏覽器對(duì)重定向的次數(shù)也不相同,當(dāng)重定向次數(shù)超過瀏覽器的限制的時(shí)候,頁(yè)面會(huì)出現(xiàn)404訪問不到的現(xiàn)象。那我們的退出會(huì)不會(huì)也是這種問題呢?
進(jìn)而了解到ie7 8的重定向次數(shù)限制為10次,經(jīng)過抓包發(fā)現(xiàn),剛好在第十一次跳轉(zhuǎn)的時(shí)候頁(yè)面變成了404,進(jìn)一步印證了這個(gè)猜想。通過改變重定向次數(shù)發(fā)現(xiàn),ie8下的退出的問題,正由于上周五服務(wù)端給域名列表里加了一個(gè)域名,導(dǎo)致302跳轉(zhuǎn)次數(shù)增加超過ie8的限制,出現(xiàn)了這個(gè)問題。
解決方案:減少了一個(gè)域名配置,并提供了接口形式的退出方式,進(jìn)而避免了這個(gè)問題。
擴(kuò)展:既然每個(gè)瀏覽器對(duì)重定向次數(shù)限制不一樣,那么什么是重定向限制?各主要瀏覽器版本的限制次數(shù)是多少?怎么查看?能不能設(shè)置呢?下面進(jìn)行詳細(xì)說(shuō)明:
1.什么是重定向限制?
答:重定向限制是指瀏覽器設(shè)置,限制你的瀏覽器的次數(shù)。會(huì)接受“重定向”從一個(gè)主機(jī)到另一個(gè)。例如,一個(gè)網(wǎng)站可能已經(jīng)從一個(gè)服務(wù)器或URL移動(dòng)到另一個(gè)技術(shù)或其他原因,為了更方便用戶,網(wǎng)站所有者可以實(shí)施了一項(xiàng)命令,告訴瀏覽器自動(dòng)走到另一個(gè)位置(重定向)。重定向限制錯(cuò)誤可能發(fā)生無(wú)意中當(dāng)一個(gè)web頁(yè)面或頁(yè)面無(wú)意中創(chuàng)建一個(gè)循環(huán)。例如,如果頁(yè)面重定向到本身,或B頁(yè)面重定向回頁(yè)面,那么您的web瀏覽器將開始構(gòu)建連接在循環(huán)的每一根琴弦,直到超過限制
2.各主要瀏覽器限制次數(shù)是多少?
| 瀏覽器版本 | 限制次數(shù) | 備注 |
| chrome | 20 | 這個(gè)是測(cè)試數(shù)據(jù) |
| firefox | 20 | |
| ie7 8 | 10 | |
| ie9 | 110 | 從IE9即增加這個(gè)值乘以一個(gè)系數(shù)(11)。因?yàn)镸axHttpRedirects的默認(rèn)值是10,重定向限制自IE9將10 * 11 = 110 |
3.怎么查看?能不能設(shè)置?
答:如果您使用的是Firefox,您可以查看和更改你重定向限制通過輸入“about:config”到地址欄和尋找“network.http.redirection-limit”,并且可以進(jìn)行修改。如果是IE,這個(gè)限制可以改變通過添加以下注冊(cè)表鍵,
HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings
Value: MaxHttpRedirects
Type: DWORD
總結(jié):盡量減少使用302進(jìn)行多次跳轉(zhuǎn),如果必須這樣可以嘗試使用別的方法就行處理~
參考文獻(xiàn):
http://webdebug.net/2014/02/ie-redirection-limit/
http://yueyemaitian.iteye.com/blog/1705586
http://stackoverflow.com/questions/9384474/in-chrome-how-many-redirects-are-too-many
總結(jié)
以上是生活随笔為你收集整理的浏览器重定向(302)次数限制问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android】 横向纵向滚轮控件
- 下一篇: 实战-Fluxion与wifi热点伪造、