http定義了與伺服器不同的互動方法,最常用的就是get和post。
那麼我們談一談它倆的區別吧~
url可見性
get:引數url可見
post:引數url不可見
資料傳輸
get:通過拼接url進行傳遞引數
post:通過正文進行傳遞引數
傳輸大小
get:一般傳輸資料不超過2k-4k,傳輸資料的長度較小
post:請求傳輸資料的大小根據php.ini 配置檔案設定,也可以無限大,因此支援較大資料傳輸
http沒有規定過get和post傳輸資料的大小,get傳輸資料有限是因為url的長度有限制。各個瀏覽器的設定值都不盡相同。
後退頁面的反應
get:後退頁面時不會產生影響
post:後退頁面是需要重新提交請求
快取性get:可以快取
post:不可以快取
安全性get:傳輸時以明文傳輸,不安全
post:更安全(不會作為url的一部分,正文傳參,不會被快取、儲存在伺服器日誌、以及瀏覽器瀏覽記錄中,傳輸時可明文傳輸,也可以加密傳輸)
編碼方式
get:只支援url編碼
post:支援多種編碼方式
應用場景
快慢比較
get比post快
那麼為什麼get比post快呢?
post會在傳送之前先傳送請求頭
post請求方式
①瀏覽器發起tcp連線請求(第一次握手)
②伺服器應答該連線請求(第二次握手)
③瀏覽器確認,並傳送post請求報頭(第三次握手)
④伺服器返回100 continue響應
⑤瀏覽器傳送post請求正文
⑥伺服器響應200 ok
get請求方式
①瀏覽器發起tcp連線請求(第一次握手)
②伺服器應答該連線請求(第二次握手)
③瀏覽器確認,並傳送get請求和資料(第三次握手)
④伺服器響應200 ok
get有快取,因此會將資料進行快取
試想如果同乙個請求我訪問兩次時,get的第二次就會非常快,但是post就會重新發起請求
SpringMVC中post和get的區別
這是一篇我在csdn上的第一篇部落格,請大家多多支援。在前面我先宣告 這篇文章的內容基本上都是網上各部落格的,我只是整理一下,給需要的人梳理一下而已。首先先放個人覺得比較好的關於post和get的區別的分析的鏈結 在講區別前先講一下 requestbody。requestbody主要用來接收前端傳遞...
html css基礎篇 GET和POST的區別
本文前面部分 木 葉的博文 後面有本人自己的一些總結和體會。如果有人問你,get和post,有什麼區別?你會如何回答?前幾天有人問我這個問題。我說get是用於獲取資料的,post,一般用於將資料發給伺服器之用。這個答案好像並不是他想要的。於是他繼續追問有沒有別的區別?我說這就是個名字而已,如果伺服器...
iOS開發 基礎篇 get和post請求的區別
1 get,它用於獲取資訊,注意,他只是獲取 查詢資料,也就是說它不會修改伺服器上的資料,從這點來講,它是資料安全的,而稍後會提到的post它是可以修改資料的,所以這也是兩者差別之一了。3 delete 刪除資料。可以通過get post來實現。用的不多,暫不多寫,以後擴充。4 put,增加 放置資...