瀏覽器URL傳參最大長度問題


這幾天為解決一個BUG頭疼了一段時間,BUG現象如下:

一個選擇人員的選擇控件,當選擇多個人時(50多個的時候),返回沒有錯誤現象,而再一次打開的時候就報404錯誤。
看到這個錯誤非常納悶,無法下手,只能再一次看控件的代碼,在詳細看代碼時,發現所有的參數都是經過URL傳參的,趕緊百度一下URL參數的大小限制(從這個百度開始,我就進入一個誤區:參數大小的限制)。結果發現網上都說URL參數的大小為256字節,再一看自己的數據,的確超過了這么多,既然找到原因就修改,把參數傳遞方法修改為不通過URL傳參。
過了幾天,再一次翻出這個BUG,想解決的完善一點,再一次百度,發現第一次的理解完全錯誤了,一次徹底的查詢,總結如下兩點,而對應URL參數大小限制為256字節,自己也不能確定是否有這一說話,至少測試沒有這個現在。
1. 各個瀏覽器對URL的長度有現在。
2. IIS 7 對 Query String 有長度限制;默認:2048;
根據網上的資料(推薦一篇博客:http://www.cnblogs.com/henryhappier/archive/2010/10/09/1846554.html)了解到各個瀏覽器對URL的長度現在如下:
1. IE瀏覽器對URL的長度現限制為2048字節(自己測試最多為2047字節)。
2. 360極速瀏覽器對URL的長度限制為2118字節。
3. Firefox(Browser)對URL的長度限制為65536字節。
4. Safari(Browser)對URL的長度限制為80000字節。
5. Opera(Browser)對URL的長度限制為190000字節。
6. Google(chrome)對URL的長度限制為8182字節。
這里,我只測試過IE瀏覽器和360極速瀏覽器,其它瀏覽器來自於網上的資料。

另外提醒一下大家,URL中,一個漢字通過不同的編碼方式大小也不一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM