首頁 > 後端開發 > PHP問題 > php的GET和POST方法的差別是什麼

php的GET和POST方法的差別是什麼

青灯夜游
發布: 2023-03-10 11:34:02
原創
4088 人瀏覽過

區別:1、GET只能發送有限數量的數據,POST沒有限制。 2.GET發送的資料不受保護,安全性低;而POST的安全性高。 3.GET查詢的結果可以加入書籤中,POST不行。 4.GET只接受ASCII字符,POST允許二進位和ASCII字符等。

php的GET和POST方法的差別是什麼

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

Get與Post的最主要差異就是Get是透過Url方式傳送數據,而Post並不讓用戶看到傳送的具體訊息,這個差異決定了兩者的用途。 Get方式主要用於搜索,而Post方式主要用於傳送使用者操作資訊至伺服器。

GET 和POST 方法的差異:

#1、發送的資料數量

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

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

2、安全性

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

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

  • GET是透過URL方式請求,可以直接看到,明文傳輸。

  • POST是透過請求header請求,可以開發者工具或是抓包可以看到,同樣也是明文的。

  • GET請求會儲存在瀏覽器歷史紀錄中,也可能會儲存在Web的日誌中。

get提交,請求的資料會跟在url(統一資源定位)後面,安全性低

post提交,把提交的資料放在http套件的包體中,安全性高

3、加入書籤中

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

4、編碼

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

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

5、可變大小

GET 方法中的可變大小約為 2000 個字元。

POST 方法最多允許 8 Mb 的可變大小。

6、快取

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

7、主要作用

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

8、GET冪等,POST不冪等

冪等是指同一個請求方法執行多次和僅執行一次的效果完全相同。

  • 依照RFC規範,PUT,DELETE和安全方法都是冪等的。雖說是規範,但服務端實作是否冪等是無法確保的。

  • 引入冪等主要是為了處理同一個請求重複發送的情況,例如在請求回應前失去連接,如果方法是冪等的,就可以放心地重發一次請求。這也是瀏覽器在後退/刷新時遇到POST會給使用者提示的原因:POST語意不是冪等的,重複請求可能會帶來意想不到的後果。

  • 例如在微博這個場景裡,GET的語意會被用在「看看我的Timeline上最新的20條微博」這樣的場景,而POST的語意會被用在「發微博、留言、按讚」這樣的場景。

推薦學習:《PHP影片教學

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板