GET和POST的區(qū)別

GET和POST的區(qū)別

HTTP請求方法

說GET和POST之前就先來看一下什么是HTTP吧。

超文本傳輸協(xié)議(HTTP)的設(shè)計目的是保證客戶機與服務(wù)器之間的通信。

HTTP 的工作方式是客戶機與服務(wù)器之間的請求-應(yīng)答協(xié)議糜芳。

web 瀏覽器可能是客戶端蚣抗,而計算機上的網(wǎng)絡(luò)應(yīng)用程序也可能作為服務(wù)器端带膜。

舉例:客戶端(瀏覽器)向服務(wù)器提交HTTP請求;服務(wù)器向客戶端返回響應(yīng)术徊。響應(yīng)包含關(guān)于請求的狀態(tài)信息以及可能被請求的內(nèi)容。

HTTP的請求方法有以下的八種:

1\. GET 向服務(wù)器獲取指定資源

2\. HEAD 與GET一致鲸湃,只不過響應(yīng)體不返回赠涮,只返回響應(yīng)頭

3\. POST 向服務(wù)器提交數(shù)據(jù),數(shù)據(jù)放在請求體里

4\. PUT 與POST相似暗挑,只是具有冪等(注1)特性笋除,一般用于更新

5\. DELETE 刪除服務(wù)器指定資源

6\. TRACE 回顯服務(wù)器端收到的請求,測試的時候會用到這個

7\. CONNECT 預(yù)留炸裆,暫無使用

8\. OPTIONS 返回服務(wù)器所支持的請求方法

image

以上內(nèi)容來自w3cschool

所以從上數(shù)據(jù)可以看出:

  1. GET 用于獲取信息垃它,是無副作用的,是冪等的,且可緩存

2. POST 用于修改服務(wù)器上的數(shù)據(jù)国拇,有副作用洛史,非冪等,不可緩存

隨便一個計算機從業(yè)人員都可以說出一些他們的區(qū)別酱吝,例如:

1. GET方法用于信息獲取虹菲,它是安全的(安全:指非修改信息,如數(shù)據(jù)庫方面的信息)掉瞳,而POST方法是用于修改服務(wù)器上資源的請求毕源;

2. GET請求的數(shù)據(jù)會附在URL之后,而POST方法提交的數(shù)據(jù)則放置在HTTP報文實體的主體里陕习,所以POST方法的安全性比GET方法要高霎褐;

3. GET方法傳輸?shù)臄?shù)據(jù)量一般限制在2KB,其原因在于:GET是通過URL提交數(shù)據(jù)该镣,而URL本身對于數(shù)據(jù)沒有限制冻璃,但是不同的瀏覽器對于URL是有限制的,比如IE瀏覽器對于URL的限制為2KB损合,而Chrome省艳,F(xiàn)ireFox瀏覽器理論上對于URL是沒有限制的,它真正的限制取決于操作系統(tǒng)本身嫁审;POST方法對于數(shù)據(jù)大小是無限制的跋炕,真正影響到數(shù)據(jù)大小的是服務(wù)器處理程序的能力。

本質(zhì)上律适,GET和POST是沒有區(qū)別的辐烂,他們都是http協(xié)議中的兩種發(fā)送請求的方法,而http是基于TCP/IP的關(guān)于數(shù)據(jù)如何在萬維網(wǎng)中通信的協(xié)議

HTTP的底層是TCP/IP捂贿。所以GET和POST的底層也是TCP/IP纠修,也就是說,GET/POST都是TCP鏈接厂僧。你要給GET加上request body扣草,給POST帶上url參數(shù),技術(shù)上是完全行的通的颜屠。

再來看看HTTP報文

報文格式上辰妙,不帶參數(shù)時,最大區(qū)別就是第一行方法名不同POST方法請求報文第一行是這樣的


POST /uri HTTP/1.1 \r\n

GET方法請求報文第一行是這樣的


GET /uri HTTP/1.1 \r\n

是的汽纤,不帶參數(shù)時他們的區(qū)別就僅僅是報文的前幾個字符不同而已帶參數(shù)時報文的區(qū)別呢上岗? 在約定中,GET 方法的參數(shù)應(yīng)該放在 url 中蕴坪,POST 方法參數(shù)應(yīng)該放在 body 中舉個例子肴掷,如果參數(shù)是 name=qiming.c, age=22敬锐。GET 方法簡約版報文是這樣的


GET /index.php?name=qiming.c&age=22 HTTP/1.1

Host: localhost

POST 方法簡約版報文是這樣的


POST /index.php HTTP/1.1

Host: localhost

Content-Type: application/x-www-form-urlencoded

name=qiming.c&age=22

POST 方法會產(chǎn)生兩個TCP數(shù)據(jù)包?

有些文章中提到呆瞻,post 會將 header 和 body 分開發(fā)送台夺,先發(fā)送 header,服務(wù)端返回 100 狀態(tài)碼再發(fā)送 body痴脾。

HTTP 協(xié)議中沒有明確說明 POST 會產(chǎn)生兩個 TCP 數(shù)據(jù)包颤介,而且實際測試(Chrome)發(fā)現(xiàn),header 和 body 不會分開發(fā)送赞赖。

所以滚朵,header 和 body 分開發(fā)送是部分瀏覽器或框架的請求方法,不屬于 post 必然行為前域。

注釋

1. 冪等 在編程中一個冪等操作的特點是其任意多次執(zhí)行所產(chǎn)生的影響均與一次執(zhí)行的影響相同辕近。冪等函數(shù),或冪等方法匿垄,是指可以使用相同參數(shù)重復(fù)執(zhí)行移宅,并能獲得相同結(jié)果的函數(shù)。這些函數(shù)不會影響系統(tǒng)狀態(tài)椿疗,也不用擔(dān)心重復(fù)執(zhí)行會對系統(tǒng)造成改變漏峰。例如,“setTrue()”函數(shù)就是一個冪等函數(shù),無論多次執(zhí)行届榄,其結(jié)果都是一樣的.更復(fù)雜的操作冪等保證是利用唯一交易號(流水號)實現(xiàn).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浅乔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痒蓬,更是在濱河造成了極大的恐慌童擎,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件攻晒,死亡現(xiàn)場離奇詭異,居然都是意外死亡班挖,警方通過查閱死者的電腦和手機鲁捏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萧芙,“玉大人给梅,你說我怎么就攤上這事∷荆” “怎么了动羽?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渔期。 經(jīng)常有香客問我运吓,道長渴邦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任拘哨,我火速辦了婚禮谋梭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘倦青。我一直安慰自己瓮床,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布产镐。 她就那樣靜靜地躺著隘庄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪癣亚。 梳的紋絲不亂的頭發(fā)上峭沦,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機與錄音逃糟,去河邊找鬼吼鱼。 笑死,一個胖子當(dāng)著我的面吹牛绰咽,可吹牛的內(nèi)容都是我干的菇肃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼取募,長吁一口氣:“原來是場噩夢啊……” “哼琐谤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玩敏,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤斗忌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后旺聚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體织阳,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年砰粹,在試婚紗的時候發(fā)現(xiàn)自己被綠了唧躲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碱璃,死狀恐怖弄痹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嵌器,我是刑警寧澤肛真,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站爽航,受9級特大地震影響蚓让,放射性物質(zhì)發(fā)生泄漏乾忱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一凭疮、第九天 我趴在偏房一處隱蔽的房頂上張望饭耳。 院中可真熱鬧,春花似錦执解、人聲如沸寞肖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽新蟆。三九已至,卻和暖如春右蕊,著一層夾襖步出監(jiān)牢的瞬間琼稻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工饶囚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留帕翻,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓萝风,卻偏偏與公主長得像嘀掸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子规惰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354