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