GET方法和POST的區別
阿新 • • 發佈:2019-05-13
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的區別