GET、POST有什么區(qū)別?
- POST和GET本質(zhì)上沒有區(qū)別。一個用與傳遞數(shù)據(jù),另一個用于修改數(shù)據(jù)。
- GET使用URL或Cookie傳參。而POST將數(shù)據(jù)放在BODY中。
- GET的URL會有長度上的限制,則POST的數(shù)據(jù)則可以非常大。
- GET比POST更不安全,因為參數(shù)直接暴露在url中,所以不能用來傳遞敏感信息。
。get請求只能進行url編碼,而post支持多種編碼方式
。get請求會瀏覽器主動cache,而post支持多種編碼方式。
。get請求參數(shù)會被完整保留在瀏覽歷史記錄里,而post中的參數(shù)不會被保留。 - Get 方式傳輸?shù)臄?shù)據(jù)量非常小,一般限制在 2 KB 左右,但是執(zhí)行效率卻比 Post 方法好;而 Post 方式傳遞的數(shù)據(jù)量相對較大,它是等待服務(wù)器來讀取數(shù)據(jù),不過也有字節(jié)限制,這是為了避免對服務(wù)器用大量數(shù)據(jù)進行惡意攻擊。
- 還有一個重大區(qū)別
。簡單的說:
GET產(chǎn)生一個TCP數(shù)據(jù)包;POST產(chǎn)生兩個TCP數(shù)據(jù)包。
。長的說:
對于GET方式的請求,瀏覽器會把http header和data一并發(fā)送出去,服務(wù)器響應(yīng)200(返回數(shù)據(jù));
而對于POST,瀏覽器先發(fā)送header,服務(wù)器響應(yīng)100 continue,瀏覽器再發(fā)送data,服務(wù)器響應(yīng)200 ok(返回數(shù)據(jù))。
參考:http://www.itdecent.cn/p/b768985824a4
參考:http://www.itdecent.cn/p/0cc70fb08647