Web瀏覽器通常會使用HTTP(超文本傳輸協議)的兩種方法(GET方法和POST方法)其中之一來與服務器通信。這兩種方法會以不同方式傳遞信息,將數據發送到服務器。下面我們就來具體看看GET方法和POST方法。
GET方法
在GET方法中,數據將作為URL的參數發送,這些參數通常是由&符號分隔的名稱和值對的字符串。通常,具有GET數據的URL將如下所示:
http://www.companysz.com/action.php?name = john age = 24
在URL中name和age都是GET參數,john和24是這些參數的值;多個“參數=值”可通過與&符號級聯被嵌入URL里。人們只能通過GET方法發送簡單的文本數據。
使用GET方法的優點和缺點
1、由于GET方法發送的數據顯示在URL中,因此可以使用特定查詢字符串值為頁面添加書簽。
2、GET方法不適合傳遞用戶名和密碼等敏感信息,因為這些信息在URL查詢字符串中完全可見,并且可能作為訪問頁存儲在客戶端瀏覽器的內存中。
3、由于GET方法將數據分配給服務器html' target='_blank'>環境變量,因此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教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答