get 長度限制1024字節
apache
post沒有限制瀏覽器
淺談 HTTP中Get與Post的區別
GET方式傳值的最大長度
都有些道理。引用其中一些觀點:安全
get
首先是"GET方式提交的數據最多隻能是1024字節",由於GET是經過URL提交數據,那麼GET可提交的數據量就跟URL的長度有直接關係 了。而實際上,URL不存在參數上限的問題,HTTP協議規範沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。IE對URL長度的限制是2083字節(2K+35)。對於其餘瀏覽器,如Netscape、FireFox等,理論上沒有長度限制,其限制取決於操做系統的支持。 注意這是限制是整個URL長度,而不單單是你的參數值數據長度。服務器
【get方式提交數據的大小,http協議並無硬性限制;而是與瀏覽器及服務器、操做系統有關。第二篇文章裏,就有談到用apache測試,使用get方式,url最長可達8167b。其中跟帖留言中還有談到代理的因素在裏面,可能url太長還沒到服務,就已經被代理拒絕掉了。第一篇的留言討論很能學到東西哦~ 】post
post
理論上講,POST是沒有大小限制的,HTTP協議規範也沒有進行大小限制,說「POST數據量存在 80K/100K的大小限制」是不許確的,POST數據是沒有限制的,起限制做用的是服務器的處理程序的處理能力。
對於ASP程序,Request對象處理每一個表單域時存在100K的數據長度限制。但若是使用Request.BinaryRead則沒有這個 限制。測試
由這個延伸出去,對於IIS 6.0,微軟出於安全考慮,加大了限制。咱們還須要注意:url
1).IIS 6.0默認ASP POST數據量最大爲200KB,每一個表單域限制是100KB。
2).IIS 6.0默認上傳文件的最大大小是4MB。
3).IIS 6.0默認最大請求頭是16KB。
IIS 6.0以前沒有這些限制。[見參考資料5]spa
因此上面的80K,100K可能只是默認值而已(注:關於IIS4和IIS5的參數,我尚未確認),但確定是能夠本身設置的。因爲每一個版本的 IIS對這些參數的默認值都不同,具體請參考相關的IIS配置文檔。操作系統
【post方式,傳送數據最大理論上沒有限制,取決於服務器設置和內存大小。】代理