不同浏览器的url长度限制
通過URL傳值的問題,所以對url字符串進行encodeURIComponent對url字符串內容進行編碼,問題解決,但是有時候會出現?The request filtering module is configured to deny a request where the query string is too long,問題的原因是 以get方式傳字符串的時候,有長度限制。
IIS 7對于Query String有長度限制。默認為2048.
該問題的解決辦法可以通過修改configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString setting.
<requestLimits maxQueryString="length" />
各瀏覽器與各Web Server對URL均有長度的限制如下:
在http協議中,其實并沒有對url長度作出限制,往往url的最大長度和用戶瀏覽器和Web服務器有關,不一樣的瀏覽器,能接受的最大長度往往是不一樣的,當然,不一樣的Web服務器能夠處理的最大長度的URL的能力也是不一樣的。
下面就是對各種瀏覽器和服務器的最大處理能力做一些說明.
Microsoft Internet Explorer (Browser)
IE瀏覽器對URL的最大限制為2083個字符,如果超過這個數字,提交按鈕沒有任何反應。
Firefox (Browser)
對于Firefox瀏覽器URL的長度限制為65,536個字符,但當我測試時,最大只能處理8182個字符,這是因為url的長度除了瀏覽器限制外,還會受Web服務器的限制。
Safari (Browser)
URL最大長度限制為 80,000個字符。
Opera (Browser)
URL最大長度限制為190,000個字符。
Google (chrome)
url長度一旦超過8182個字符時,出現如下服務器錯誤:
寫道
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.12 (Ubuntu) Server at 127.0.1.1 Port 80
Apache (Server)
能接受最大url長度為8,192個字符。
Microsoft Internet Information Server(IIS)
能接受最大url的長度為16,384個字符。
通過上面的數據可知,為了讓所有的用戶都能正常瀏覽,我們的URL最好不要超過IE的最大長度限制(2038個字符),當然,如果URL不直接提供給用戶,而是提供給程序調用,側這時的長度就只受Web服務器影響了。
可能有些朋友會想當然的認為,如果最大長度限制為2038字符,是不是參數差不多可以傳遞1000個左右的漢字。這樣認為其實是不對的,對于中文的傳遞,最終會為urlencode后的編碼形式進行傳遞,如果瀏覽器的編碼為UTF8的話,一個漢字最終編碼后的字符長度為9個字符。
總結
以上是生活随笔為你收集整理的不同浏览器的url长度限制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android studio插件 统计代
- 下一篇: html rgb 颜色转换,将RGBA颜