GET與POST傳遞數據的長度分析


在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。GET - 從指定的資源請求數據,POST - 向指定的資源提交要被處理的數據。本篇文章我們就來分析一下GET與POST傳遞數據的最大長度能夠達到多少。

 

各種web開發語言中,各個頁面之間基本都會進行數據的傳遞,web開發里面比較常用的數據傳遞方式有get post,一直以來我都只知道get傳遞的數據量要比post傳遞的數據量要少,所以傳遞大數據量還是要用post,但是 get post 這兩種方式最大能傳遞多少數據呢?一直沒搞清楚。

下面就說說GET與POST傳遞數據的最大長度能夠達到多少吧。

get 是通過URL提交數據,因此GET可提交的數據量就跟URL所能達到的最大長度有直接關系。很多文章都說GET方式提交的數據最多只能是1024字節,而實際上,URL不存在參數上限的問題,HTTP協議規范也沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。IE對URL長度的限制是2083字節(2K+35字節)。對於其他瀏覽器,如FireFox,Netscape等,則沒有長度限制,這個時候其限制取決於服務器的操作系統。即如果url太長,服務器可能會因為安全方面的設置從而拒絕請求或者發生不完整的數據請求。

post 理論上講是沒有大小限制的,HTTP協議規范也沒有進行大小限制,但實際上post所能傳遞的數據量大小取決於服務器的設置和內存大小。因為我們一般post的數據量很少超過MB的,所以我們很少能感覺的到post的數據量限制,但實際中如果你上傳文件的過程中可能會發現這樣一個問題,即上傳個頭比較大的文件到服務器時候,可能上傳不上去,以php語言來說,查原因的時候你也許會看到有說PHP上傳文件涉及到的參數PHP默認的上傳有限定,一般這個值是2MB,更改這個值需要更改php.conf的post_max_size這個值。這就很明白的說明了這個問題了。


免責聲明!

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



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