1. 程式人生 > >通俗易懂的請求方式get與post兩者的區別

通俗易懂的請求方式get與post兩者的區別

     相信對於計算機有點了解的都聽過get與post這兩種的請求方式,但是對於這兩種請求方式的具體區別有可能不太清楚,相信大家在網上關於這兩種的區別應該一搜索一大把,我也看了下網上其他部落格或者簡書對於這兩種的區別的解釋。有好多的說post是用於提交資料用的,而get是從伺服器獲取資料用的。不能說這兩種說法不對,但是太片面,沒有根本的解釋清楚,其實無論是get還是post都是可以請求資料和提交資料的,主要區別是在於他們的引數攜帶方式不同,下面我就來說一說,他倆的不同。

     1.get請求方式向伺服器請求資料或者是提交資料,所攜帶的引數是通過拼接在URL之後的,例如http://www.baidu.com/index.html/?username=zhangsan&password=123456

這個URL中?之後的就是要攜帶的引數。因為伺服器對提交URL的長度有限制,所以就導致URL不能拼接的過長,也就是說URL之後不能攜帶太多的引數,所以就導致get上傳的資料量比較小。

     2.post請求方式和get不同之處就在於攜帶引數的位置不同,get是拼接在URL之後,而post是放在send()之中,通過管道流的方式斷點上傳的,由於伺服器對每次上傳資料的大小有限制,但是對於次數沒限制,所以post請求通過斷點上傳可以多次上傳,因此提交的資料量就會比較大。

     但是網上有人說post請求比get請求安全,並不然。之所以有人覺得安全可能是由於post提交的引數是放在http頭裡傳輸的,我們一般不能直觀的看到所以感覺安全,而get請求方式是在URL之後我們能一目瞭然所以感覺不安全。我想說這是錯誤的,因為無論是get還是post請求都是可以通過抓包獲取到這些引數資料的,對於會抓包的人來說,沒一點難度,所以我說這倆其實都不安全。那怎麼整才能安全呢?要我說放哪都一樣不安全,想要安全就給引數加入加密演算法例如:MD5加密演算法等。這樣即使被人通過抓包抓到也是密文。

     好啦,就先寫到這,沒什麼程式碼實際操作全是理論,主要是這倆區別都是以理解為主的。理解就好,其實也沒那麼複雜!