GET 和 POST 的區別

兩種最常用的 HTTP 方法是:GET 和 POST。

在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。

  • GET - 從指定的資源請求數據。從服務器端獲取數據,不做增刪改
  • POST - 向指定的資源提交要被處理的數據。向服務器提交數據,如做增刪改操作

GET 方法

請注意,查詢字符串(名稱/值對)是在 GET 請求的 URL 中發送的:

/test/demo_form.asp?name1=value1&name2=value2

有關 GET 請求的其他一些註釋:

  • GET 請求可被緩存
  • GET 請求保留在瀏覽器歷史記錄中
  • GET 請求可被收藏爲書籤
  • GET 請求不應在處理敏感數據時使用
  • GET 請求有長度限制
  • GET 請求只應當用於取回數據

POST方法

請注意,查詢字符串(名稱/值對)是在 POST 請求的 HTTP 消息主體中發送的:

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

有關 POST 請求的其他一些註釋:

  • POST 請求不會被緩存
  • POST 請求不會保留在瀏覽器歷史記錄中
  • POST 不能被收藏爲書籤
  • POST 請求對數據長度沒有要求

比較 GET 與 POST

下面的表格比較了兩種 HTTP 方法:GET 和 POST。

GET POST
後退按鈕/刷新 無害 數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)
歷史 參數保留在瀏覽器歷史中 參數不會保存在瀏覽器歷史中
對數據長度的限制 當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符) 無限制
安全性 與 POST 相比,GET 的安全性較差,因爲所發送的數據是 URL 的一部分。在發送密碼或其他敏感信息時絕不要使用 GET ! POST 比 GET 更安全,因爲參數不會被保存在瀏覽器歷史或 web 服務器日誌中。
可見性 數據在 URL 中對所有人都是可見的 數據不會顯示在 URL 中

上述內容來自(http://www.w3school.com.cn/tags/html_ref_httpmethods.asp)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章