在客戶機和伺服器之間進行請求-回應時,兩種最常被用到的方法是: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這個值。這就很明白的說明了這個問題了。
透過以上文章的簡單介紹,我們就很清楚了GET與POST傳遞資料的最大長度能夠達到多少,希望能幫助大家。
相關推薦:
#