Http Get方法提交的數據大小長度並無限制,HTTP協議規範沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。chrome
如:IE對URL長度的限制是2083字節(2K+35)。瀏覽器
下面就是對各類瀏覽器和服務器的最大處理能力作一些說明.tomcat
Microsoft Internet Explorer (Browser)服務器
IE瀏覽器對URL的最大限制爲2083個字符,若是超過這個數字,提交按鈕沒有任何反應。
Firefox (Browser)字體
對於Firefox瀏覽器URL的長度限制爲65,536個字符。編碼
Safari (Browser)url
URL最大長度限制爲 80,000個字符。spa
Opera (Browser)debug
URL最大長度限制爲190,000個字符。code
Google (chrome)
URL最大長度限制爲8182個字符。
Apache (Server)
能接受最大url長度爲8,192個字符。
Microsoft Internet Information Server(IIS)
能接受最大url的長度爲16,384個字符。
經過上面的數據可知,爲了讓全部的用戶都能正常瀏覽, URL最好不要超過IE的最大長度限制(2083個字符),固然,若是URL不直接提供給用戶,而是提供給程序調用,這時的長度就只受Web服務器影響了。
注:對於中文的傳遞,最終會爲urlencode後的編碼形式進行傳遞,若是瀏覽器的編碼爲UTF8的話,一個漢字最終編碼後的字符長度爲9個字符。
所以若是使用的 GET 方法,最大長度等於URL最大長度減去實際路徑中的字符數。
理論上講,POST是沒有大小限制的。HTTP協議規範也沒有進行大小限制,起限制做用的是服務器的處理程序的處理能力。
如:在Tomcat下取消POST大小的限制(Tomcat默認2M);
打開tomcat目錄下的conf目錄,打開server.xml 文件,修改
<Connector
debug="0"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
port="8080"
redirectPort="8443"
enableLookups="false"
minSpareThreads="25"
maxSpareThreads="75"
maxThreads="150"
maxPostSize="0"
URIEncoding="GBK"
>
</Connector>
增長紅色字體部分 maxPostSize="0" (設爲0是取消POST的大小限制)