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方法的差異。
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中文網其他相關文章!