GET與POST有什么區別呢?
1.使用get發送請求時會把參數放到URL中,而POST則把參數放到ReqestBody中
2.get與post都有特定的作用域,例: 文件上傳只能以POST,get則不行
3.get傳的參數有大小限制,而post的則沒有大小限制
3.get會唄瀏覽器freeMarker,post則不會
4.對于get方式服務器端使用request.queryString獲取參數,post方式使用request.form獲取
5.get因為參數在url后面所以安全性較低,post則較高
6.get只能接受ascll字符, post沒有限制
要想知道他們的具體區別,那么就讓我們脫掉他華麗的外衣吧!!
Get和POST本質上都是是兩種發送請求的方式,都是http中發送請求的方式。
那么http是什么呢,http是基于TCP/IP的關于數據如何在萬維網中傳輸的協議,所以說他們的底層都是TCP鏈接,都是TCP發送請求的兩種方式,兩者功能是一樣的,從技術層面來講,我們可以在post后面追加參數,在get的requesbody中存入值。
那我們上面說的區別是什么呢?
其實是在萬維網中數據是以TCP數據包的形式傳輸的,就像小汽車一樣,但是如果都是一模一樣的小汽車的話那就亂套了,所以這時交通規則http就出來了,http規定執行get請求的就要把貨放到車頂(url),執行post請求的就要吧貨放在車內(requestbody)
中,當然get請求也可以把貨偷偷藏到車內,當然這樣是可恥的的
這個時候另一個大BOSS運輸公司(瀏覽器,服務器),就出來了,不同的運輸公司處理的方式是不一樣的,畢竟拉貨都是有成本的啊,有的會把post請求放到url的貨物取出來,也會吧get藏到車內搜出來,但是有的卻不會,所以說上面的區別都是根據瀏覽器服務器的不同產生的
但是,你以為這樣就結束了嗎
Get和post的最大的區別就是get在發送請求的時會把請求的頭和body全部傳輸過去,服務器直接響應200成功,而post則不然,post會先把post的頭 發送過去,服務器相應100 continue,再把data傳送過去 服務器響應200成功,就是小汽車發貨時先跑過去說 :“親愛的!!我要發貨啦!!!” , 服務器響應: “好勒!!!!”,然后小汽車再把貨發過去
因為POST需要兩部,所以看起來POST是比較慢!!!但是經過海威的測試,在網速好的情況下,區別是不大的.
而且剛才也說了他們有各自的作用域,不能亂用哦!
咨詢熱線
010-85377344
135-21581588
微信客服
QQ客服
3026106565 點擊咨詢