首頁 >後端開發 >php教程 >GET和POST方法的差別是什麼

GET和POST方法的差別是什麼

青灯夜游
青灯夜游原創
2018-12-07 17:05:41101681瀏覽

GET和POST方法的差別是什麼?本篇文章就給大家具體介紹GET和POST方法,讓大家了解GET和POST方法的差別,希望對你們有幫助。

GET和POST方法的差別是什麼

Web瀏覽器通常會使用HTTP(超文本傳輸協定)的兩種方法(GET方法和POST方法)其中之一來與伺服器通訊。這兩種方法會以不同方式傳遞訊息,將資料傳送到伺服器。下面我們就來具體看看GET方法和POST方法。

GET方法

在GET方法中,資料將作為URL的參數發送,這些參數通常是由&符號分隔的名稱和值對的字串。通常,具有GET資料的URL將如下所示:

http://www.php.cn/action.php?name = john&age = 24

在URL中name和age都是GET參數,john和24是這些參數的值;多個「參數=值」可透過與&符號級聯被嵌入URL裡。人們只能透過GET方法發送簡單的文字資料。

使用GET方法的優點和缺點

1、由於GET方法發送的資料顯示在URL中,因此可以使用特定查詢字串值為頁面添加書籤。

2、GET方法不適合傳遞使用者名稱和密碼等敏感訊息,因為這些資訊在URL查詢字串中完全可見,並且可能作為存取頁儲存在客戶端瀏覽器的記憶體中。

3、由於GET方法將資料分配給伺服器環境變量,因此URL的長度是有限的。因此,要傳送的總數據有限制。

PHP提供了超全域變數$_GET來存取透過URL發送的所有資訊;或使用HTML,透過HTML表單提交的資訊method="get"來傳送訊息。

POST方法

在POST方法中,資料作為包在與處理腳本的單獨通訊中發送到伺服器;透過POST方法發送的數據在URL中不可見。

POST方法適用於可以傳遞大量資訊的情況。當伺服器透過採用POST的表單接收請求時,它在對URL進行請求之後立即傳輸表單輸入的所有相關資訊。

使用POST方法的優點和缺點

1、它比GET更安全,因為使用者輸入的資訊在URL查詢字串或伺服器日誌中永遠不可見。

2、可以傳遞的資料量有一個更大的限制,一個人可以使用POST發送文字資料和二進位資料(上傳檔案)。

3、由於POST方法發送的資料在URL中不可見,因此無法使用特定查詢為頁面新增書籤。

PHP會提供另一個超全域變數$_POST來存取透過post方法傳送的所有資訊;或透過HTML表單使用method="post"來傳送訊息。

GET和POST方法的差別

GET和POST方法的差別是什麼

#雖然,GET和POST方法都是將資料傳送到伺服器,與伺服器進行通訊;但這兩種方法是不同的,下面我們就來看看GET和POST方法的差異。

1、發送的數據數量

在Get中,只能發送有限數量的數據,因為數據是在URL中發送的;

在POST中,可以發送大量的數據,因為數據是在正文主體中發送的。

2、安全性

GET方法發送的資料不受保護,因為資料在URL欄中公開,這增加了漏洞和駭客攻擊的風險。

POST方法發送的資料是安全的,因為資料未在URL欄中公開,還可以在其中使用多種編碼技術,這使其具有彈性。

3、加入書籤中

GET查詢的結果可以加入書籤中,因為它以URL的形式存在;而POST查詢的結果無法加入書籤中。

4、編碼

在表單中使用GET方法時,資料類型中只接受ASCII字元。

在表單提交時,POST方法不綁定表單資料類型,並允許二進位和ASCII字元。

5、可變大小

GET方法中的可變大小約為2000個字元。而,POST方法最多允許8 Mb的可變大小。

6、快取

GET方法的資料是可快取的,而POST方法的資料是無法快取的。

7、主要作用

GET方法主要用於取得資訊。而,POST方法主要用於更新資料。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是GET和POST方法的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多