Http Get與Post請求區別

GetPost請求之間有很多不同之處。下麵來看看它們之間的差異:

GET POST
數據以報頭發送,所以只能發送有限數據的數據量。 可以發送大量的數據,因為數據是以正文的形式發送的。
GET請求不受保護,因為GET數據是直接在URL欄中顯示的。 POST請求相對安全一些,因為數據沒有在URL欄中公開。
GET請求可以加入流覽器書簽欄。 POST請求不可以加入流覽器書簽欄。
GET請求是冪等的。這意味著直到第一個請求的回應前,第二個請求將被忽略。 POST請求不是冪等的。
GET請求比POST請求更有效率,以及使用頻率更高。 POST請求比GET請求效率更低一些,以及使用頻率更低。

伺服器和客戶端之間的請求回應的兩種常用方法有:

  • GET - 它從指定的資源請求數據
  • POST - 它將處理的數據提交到指定的資源

GET請求的剖析

查詢字串(名稱/值對)在GET請求的URL內發送:

GET /RegisterDao.jsp?key1=value1&key2=value2

我們知道在GET請求的情況下,數據是以請求頭(報頭)發送的,它是默認請求類型。下麵來看看發送到伺服器的資訊。

GET請求的其他一些特性有:

  • 它仍然在流覽器歷史中
  • 它可以加到書簽
  • 它可以被緩存
  • 它有長度限制
  • 在處理敏感數據時不應該使用它
  • 它只能用於檢索數據

POST請求的剖析

查詢字串(名稱/值對)在HTTP消息正文中發送用於POST請求:

POST/RegisterDao.jsp HTTP/1.1
Host: www.xuhuhu.com
key1=value1&key2=value2

POST請求中,原始數據是在消息正文中發送的。下麵來看看在POST請求時如何將資訊傳遞給伺服器。

POST請求的其他一些特性:

  • POST請求無法加入書簽
  • POST請求對數據長度沒有限制
  • POST請求從不緩存
  • POST請求不會保留在流覽器歷史記錄中

上一篇: Web技術基礎 下一篇: Servlet API