2013-03-02 188 views
5

我是這個論壇的新成員,今天晚上我正在學習PHP。GET和POST方法之間的區別?

我想送一個形式,但我不知道之間的區別:

<form action="page2.php" method="GET"> 

<form action="page2.php" method="POST"> 

任何人都可以幫助我嗎?

謝謝。

+0

也許這可以幫助你:http://www.cs.tut.fi/~jkorpela/forms/methods.html – juanchopx2 2013-03-02 03:18:25

+0

@johny g如果一個鏈接不幫助,查看http://www.w3schools.com/tags/ref_httpmethods.asp – Daniel 2013-03-02 03:19:46

+0

[區別GET和POST方法](http://www.jquery2dotnet.com/2014/03/difference-between-get-and -post-methods.html) – Sender 2014-06-11 09:49:56

回答

26

GET:

  • 的參數保持在瀏覽器歷史記錄,因爲他們是URL
  • 都能被收藏的一部分。
  • 發送密碼或其他敏感信息時不應使用GET方法。
  • 7607個字符的最大尺寸。
  • 網址呢?例如:使page2.php類別=體育

POST:

  • 參數不保存在瀏覽器歷史記錄。
  • 不能加書籤。
  • 發送密碼或其他敏感信息時使用的POST方法。
  • POST方法的最大大小爲8 Mb。
  • 地址例如:使page2.php
+2

請注意,POST的最大大小不是必需的8MB,它可以在服務器端進行配置。 – 2014-04-28 09:32:35

+1

我覺得很奇怪,這個答案有這麼多upvotes,人們會發現它,並認爲有一個POST的限制。它也沒有正確解釋兩種方法。 – 2014-04-28 09:34:00

0

如果使用GET請求,形式參數在所謂的查詢字符串的URL編碼。 例如

www.someemailprovider.com/[email protected]&password=xxyz

POST請求,不像GET請求,通過在HTTP請求的主體中的形式參數,而不是在URL中。

而且GET是等冪和POST是不是意味着如果你調用服務器上的任何GET方法對服務器將被改變,但是如果你調用POST然後服務器將改變可能是一些額外的數據將被添加到服務器,所以GET是冪等的,而POST不是。

注意

要記住,作爲一個程序員是定義你的表單使用GET方法並不能防止引起變化的主要事情。您可以使用GET請求來執行與POST查詢幾乎相同的操作。只是瀏覽器通常會被編碼,以期望POST請求將用於會導致更改的事情 - 比如下訂單或寫入數據庫等。 GET請求應該用於不影響服務器上任何內容的純查詢。所以,應該永遠記住不要使用GET請求來執行任何會導致服務器更改的操作 - 例如訂購大屏幕電視。

1

按照慣例HTTP GET用於搜索表單,而HTTP POST用於更改表單。 GET將其信息顯示在URL中,可公開查看,從中可以查詢變量。 POST不會顯示其信息。明智的安全性確實沒有區別。

-1

這些都是HTTP請求方法,而不是PHP獨佔。

$ _GET被追加到結尾或URL。即http://example.org/?foo=bar 與Access在PHP:

$foo = $_GET['foo']; 

或 $富= $ _REQUEST [ '富'];

GET用於您不介意人們看到的信息,可以手動鍵入鏈接和網址以獲取結果。

$ _POST在您的URL中不可見,通常在提交表單後使用。 ;

$foo = $_POST['foo']; 

或 $富= $ _REQUEST [ '富']: 與Access在PHP

瞭解更多關於HTTP請求在http://www.w3schools.com/tags/ref_httpmethods.asp

相關問題