概念
get請求與post請求都是http協議請求頭中的的請求方法,它們的作用都是向服務器發送請求參數。
區別
- url可見性
get請求發送請求參數時,會將參數顯示在瀏覽器的url地址欄上,使用?來攜帶,如果有多個則用&來拼接。
post請求發送請求參數時,會將參數顯示在瀏覽器的url地址欄上,而是將參數存儲到http請求頭中的請求體中。
- 傳輸數據大小
get傳輸數據有大小的限制,一般以2-4k
post傳輸數據的大小是沒有限制的,可以修改成無限大。
- 後退頁面的反應
get請求後退後不會發送新的請求,而post在後退時,會重新發送一次新的請求。
- 是否被瀏覽器緩存
get請求會被瀏覽器主動緩存,而post請求不會,但是可以手動設置緩存。
- 是否保留到瀏覽器歷史記錄
get請求的參數會被保存到瀏覽器的歷史記錄中,而post不會。
- 編碼方式
get請求只支持發送ASCII嗎的參數類型,只支持url編碼,而post請求沒有限制,支持多種編碼格式。
- 安全性
顯然post比get更爲安全,因爲get請求在很多時候請求參數都是輕易可見的,可以簡單的從url從看到。
- post優點那麼多,那爲什麼還要有get呢?
因爲get的效率更高!! get常用於一些沒有存在安全隱患的場景,例如查詢一些公共資源…
參考:https://blog.csdn.net/FlyPigYe/article/details/91865135