面試之 get 和 post 區別

约翰發表於2020-12-15

get 和 post 的區別可以從兩個角度來看
1)前端請求
get 一般理解為是:讀取內容
post 是表單 form 裡提交的內容

2)介面層面
get 和 post 都是基於 http 協議的,底層依賴 tcp/ip 協議,從 get 和 post 來看,沒有區別,但是大家在使用具體場景下是有區別,一般目前介面都是基於 REST 介面,其有自己的規範和風格
a.get 請求一般傳輸的資料在 url 中,post 在 body 中;
b.get 請求相對來說不安全,post 相對安全,實際上兩者傳輸都不安全,如果想讓更安全,可以使用 https 協議或是其他加密方式
c.get 能傳送的資料量少,post 資料在 body 中傳輸資料量大;
d.get url 地址中編碼格式 ascii 碼格式,post 是支援任何編碼格式;
e.get 傳送一次請求,post 傳送兩次請求:第一次傳送 headers 響應 100 後,再傳送第二次請求 data,響應 200
對於網路來說,一次請求和兩次請求來說,一般不會有感覺的;

相關文章