GET和POST請求的區別,翻看網友各種說法, 總結如下:
第一種:
1. get是從服務器上獲取數據,post是向服務器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。
? ? post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。
建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;
第二種:
1. GET請求的接口會包含參數部分,參數會作為網址的一部分,服務器地址與參數之間通過 ? 來間隔。POST請求會將服務器地址與參數分開,請求接口中只有服務器地址,而參數會作為請求的一部分,提交后臺服務器。
2. GET請求參數會出現在接口中,不安全。而POST請求相對安全。
3.雖然GET請求和POST請求都可以用來請求和提交數據,但是一般的GET多用于從后臺請求數據,POST多用于向后臺提交數據。
總的來說有如下三種情況:
1、安全性:get不安全,post安全。
2、請求or提交:get多用于請求,post多用于提交數據。
3、大小:get傳送的數據量較小,post比較大。
綜合以前的項目經驗,get可以打印接口,post打印不到接口,如果需要打印接口,需要進入post底層里面找,添加NSLog來打印接口。
對于簡單的網絡請求,沒有安全限制的,兩種請求的數據結果是一樣的,但是我們在具體的項目中,應該會考慮安全性能,我們的項目就因為RSA加密,將原來的所有的GET請求轉換成了POST請求,因為RSA加密后,請求變得異常的長,根據上述的第三點來看,改成post是為了避免請求過程中丟失參數,所以改成post。
下邊還是以“AFNetwoking(一)GET請求”中的接口作為例子進行post請求。
依舊建一個方法存放post請求。
我們可以看到,依舊可以請求成功,但是問題就來了,從這個破請求里面我們看到了post和get有什么區別呢?!
筆者認為,因為這里的栗子是個簡單的請求,所以看不出區別來,但是幾天后要學習文件或者圖片的上傳估計就只能用post請求了。
兩者都是請求到數據,應該是術業有專攻,各自優點不同:參照上述第二點:get多用于請求,post多用于提交數據。
綜上所述,加密的、文件上傳的、請求比較長的都要用POST請求。
再次聲明,這里只是簡單的進行了POST請求。大神們不喜勿噴。。。
主要還是AFNetworking的導入步驟,因為查了好多資料,都沒具體的步驟,可能是我太小白了吧,給小小白們補充一下。。。