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
中傳送兩次包,