get和post在面試過程中一般都會問到,一般的區別:
1.post更安全(不會作為url的一部分,不會被快取、儲存在伺服器日誌、以及瀏覽器瀏覽記錄中)
2.post傳送的資料量更大(get有url長度限制)
3.post能傳送更多的資料型別(get只能傳送ascii字元)
4.post比get慢
5.post
是向伺服器提交資料的一種
請求,get是向伺服器發索取資料的一種請求。
6.get會將資料快取起來,而post不會
但是,get比post更快
post請求包含更多的請求頭
post在真正接受資料之前會先將請求頭髮送給伺服器進行確認,然後才真正傳送資料
post請求的過程:
1.瀏覽器請求tcp連線(第一次握手)
2.伺服器答應進行tcp連線(第二次握手)
3.瀏覽器確認,並傳送post請求頭(第三次握手,這個報文比較小,所以http會在此時進行第一次資料傳送)
4.伺服器返回100 continue響應
5.瀏覽器開始傳送資料
6.伺服器返回200 ok響應
get請求的過程
1.瀏覽器請求tcp連線(第一次握手)
2.伺服器答應進行tcp連線(第二次握手)
3.瀏覽器確認,並傳送get請求頭和資料(第三次握手,這個報文比較小,所以http會在此時進行第一次資料傳送)
4.伺服器返回200 ok響應。 那麼
get 相對 post 的優勢是什麼
get 的url可以人手輸啊。。。你在位址列打個post看看。本質上面, get 的所有資訊都在url, 所以很方便的記錄下來重複使用。
如果你期望你複製的url資源可以更好的分享給別人看,那就用get方法吧~post方法做不到哦~
從深層次上分析:
get表達的是一種冪等的,唯讀的,純粹的操作,即它除了返回結果不應該會產生其它***(如寫資料庫),因此絕大部分get請求(通常超過90%)都直接被cdn快取了,這能大大減少web伺服器的負擔。
而post所表達的語義是非冪等的,有***的操作,所以必須交由web伺服器處理。
把所有get請求換成post,意味著主幹網路上的所有cdn都廢掉了,web伺服器要處理的請求數量將成百上千倍地增加,顯然這不是乙個聰明的做法!
GET和POST兩種區別
最直觀的區別就是get把引數包含在url中,post通過request body傳遞引數。1.對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200 返回資料 而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,...
GET和POST傳輸方式
在很多人看來,get和post的區別有比如安不安全,傳輸有大小限制等,在這裡,我將對get和post做出客觀的評價 傳輸量 因為get是在url上攜帶資料傳輸,但是瀏覽器基於安全考慮,會限制url的大小,所以get的傳輸量小不是因為它本身的原因,而是瀏覽器所造成的。安全性 get的安全性其實是很高的...
Ajax中的get和post兩種請求方式的用法
ajax中我們經常用到get和post請求.那麼什麼時候用get請求,什麼時候用post方式請求呢?在做回答前我們首先要了解get和post的區別.1 get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post...