GET
HTTP
GET
方法請求指定的資源。使用GET
的請求應該只用於獲取數據
GET
請求沒有主體,在正確實現的條件下GET
方式是安全、冪等、可緩存的,並且支持html表單提交
POST
HTTP
POST
方法 發送數據給服務器
POST
請求通常是通過HTML表達發送,並返回服務器的修改結果
POST有請求體,POST方式是不安全、不冪等、可緩存的
但連續調用同一個POST
可能會帶來額外的影響,比如多次提交訂單
總結!
GET和POST所謂區別,只是瀏覽器廠家根據約定,做得限制而已:
-
-
GET
傳輸的數據量有限,因為url的長度有限,POST
則不受限 -
GET
請求的參數只能是ASCII碼(中文需要URL編碼) -
GET
產生一個TCP數據包,POST
-
-
對於
POST
因為POST
需要兩步,時間上消耗的要多一點,看起來GET比POST更有效。因此Yahoo團隊有推薦用GET替換POST來優化網站性能。但這是一個坑!跳入需謹慎。
為什么?
-
GET
與POST
都有自己的語義,不能隨便混用 -
在網絡環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視
-
並不是所有瀏覽器都會在
POST
中發送兩次包,