http://blog.csdn.net/davidhsing/article/details/7374401 web
經過URL傳值的問題,因此對url字符串進行encodeURIComponent對url字符串內容進行編碼,問題解決,可是有時候會出現 The request filtering module is configured to deny a request where the query string is too long,問題的緣由是 以get方式傳字符串的時候,有長度限制。chrome
IIS 7對於Query String有長度限制。默認爲2048.瀏覽器
該問題的解決辦法能夠經過修改configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString setting.服務器
<requestLimits maxQueryString="length" />ide
各瀏覽器與各Web Server對URL均有長度的限制以下:測試
在http協議中,其實並無對url長度做出限制,每每url的最大長度和用戶瀏覽器和Web服務器有關,不同的瀏覽器,能接受的最大長度每每是不同的,固然,不同的Web服務器可以處理的最大長度的URL的能力也是不同的。
下面就是對各類瀏覽器和服務器的最大處理能力作一些說明.this
Microsoft Internet Explorer (Browser)
IE瀏覽器對URL的最大限制爲2083個字符,若是超過這個數字,提交按鈕沒有任何反應。編碼
Firefox (Browser)
對於Firefox瀏覽器URL的長度限制爲65,536個字符,但當我測試時,最大隻能處理8182個字符,這是由於url的長度除了瀏覽器限制外,還會受Web服務器的限制。url
Safari (Browser)
URL最大長度限制爲 80,000個字符。spa
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個字符。