HTTP請求中GET和POST的區別

關於 HTTP 協議

HTTP(即超文本傳輸協議)是現代網絡中最多見和經常使用的協議之一,設計它的目的是保證客戶機和服務器之間的通訊。php

HTTP 的工做方式是客戶機與服務器之間的 「請求-應答」 協議。html

客戶端能夠是 Web 瀏覽器,服務器端能夠是計算機上的某些網絡應用程序。瀏覽器

一般狀況下,由瀏覽器向服務器發起 HTTP 請求,服務器向瀏覽器返回響應。響應包含了請求的狀態信息以及可能被請求的內容。緩存

兩種常見的 HTTP 請求:GET 和 POST

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

GET - 從指定的資源請求數據。
POST - 向指定的資源提交要被處理的數據。網絡

GET 請求

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

/test/test.php?name1=value1&name2=value2

有關 GET 請求的一些特色:spa

  1. GET 請求能夠被緩存
  2. GET 請求保留在瀏覽器歷史記錄中
  3. GET 請求可被收藏爲書籤
  4. GET 請求不該在處理敏感數據時使用(即一般所說的數據不加密)
  5. GET 請求有長度限制
  6. GET 請求只應當用於從服務器取回數據

POST 請求

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

POST /test/test.php HTTP/1.1
Host: baidu.com
name1=value1&name2=value2

有關 POST 請求的一些特色:code

  1. POST 請求不會被緩存
  2. POST 請求不會保留在瀏覽器歷史記錄中
  3. POST 請求不能被收藏爲書籤
  4. POST 請求對數據長度沒有要求
  5. POST 請求能夠用於處理敏感數據

比較 GET 和 POST

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

圖片描述

參考資料

http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

相關文章
相關標籤/搜索