1. 程式人生 > >GET方法和POST的區別

GET方法和POST的區別

options 安全 暴露 asc 傳遞 pos ons 獲取 敏感信息

最直接的區別

  • GET請求的參數是放在URL裏的,POST請求參數是放在請求body裏的;
  • GET請求的URL傳參有長度限制,而POST請求沒有長度限制;
  • GET請求只能進行url編碼,而POST支持多種編碼方式。
  • 以下答案參考w3schools
  • GET在瀏覽器回退時是無害的,而POST會再次提交請求。
  • GET產生的URL地址可以被Bookmark,而POST不可以。
  • GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
  • GET請求只能進行url編碼,而POST支持多種編碼方式。
  • GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留。
  • GET請求在URL中傳送的參數是有長度限制的,而POST麽有。
  • 對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。
  • GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。
  • GET參數通過URL傳遞,POST放在Request body中。

其實,GET和POST本質上兩者沒有任何區別。他們都是HTTP協議中的請求方法。底層實現都是基於TCP/IP協議。上述的所謂區別,只是瀏覽器廠家根據約定,做得限制而已。

HTTP請求,最初設定了八種方法。這八種方法本質上沒有任何區別。只是讓請求,更加有語義而已。

OPTIONS 返回服務器所支持的請求方法

GET 向服務器獲取指定資源

HEAD 與GET一致,只不過響應體不返回,只返回響應頭

POST 向服務器提交數據,數據放在請求體裏

PUT 與POST相似,只是具有冪等特性,一般用於更新

DELETE 刪除服務器指定資源TRACE 回顯服務器端收到的請求,測試的時候會用到這個

CONNECT 預留,暫無使用

GET方法和POST的區別