HTTP POST GET 本質(zhì)區(qū)別詳解

0.參考文獻

HTTP POST GET 本質(zhì)區(qū)別詳解

從HTTP GET和POST的區(qū)別說起

1.分析

一般在瀏覽器中輸入網(wǎng)址訪問資源都是通過GET方式入篮;在FORM提交中吭历,可以通過Method指定提交方式為GET或者POST忘苛,默認為GET提交艘狭。Http定義了與服務(wù)器交互的不同方法趣避,最基本的方法有4種尸执,分別是GET婚夫,POST波桩,PUT,DELETE请敦。

URL全稱是資源描述符镐躲,我們可以這樣認 為:一個URL地址,它用于描述一個網(wǎng)絡(luò)上的資源侍筛,而HTTP中的GET萤皂,POST,PUT匣椰,DELETE就對應(yīng)著對這個資源的查 裆熙、改 、增 禽笑、刪 4個操作入录。

根據(jù)HTTP規(guī)范,GET用于信息獲取佳镜,而且應(yīng)該是安全的和冪等的僚稿,可以參見安全的(Safe)和冪等的(Idempotent)。

安全的是指沒有明顯的對用戶有影響的副作用(包括修改該資源的狀態(tài))蟀伸。HTTP方法里的GET和HEAD都是安全的蚀同。
冪等的是指一個方法不論多少次操作,結(jié)果都是一樣啊掏。PUT(把內(nèi)容放到指定URL)蠢络,DELETE(刪除某個URL代表的資源),雖然都修改了資源內(nèi)容迟蜜,但多次操作刹孔,結(jié)果是相同的,因此和HEAD娜睛,GET一樣都是冪等的髓霞。
  所以根據(jù)HTTP協(xié)議,GET是安全的微姊,也是冪等的酸茴,而POST既不是安全的,也不是冪等的兢交。但在實際應(yīng)用中薪捍,以上2條規(guī)定并沒有這么嚴格。比如,新聞?wù)军c的頭版不斷更新酪穿。雖然第二次請求會返回不同的一批新聞凳干,該操作仍然被認為是安全的和冪等的。因為它總是返回當(dāng)前的新聞被济。從根本上說救赐,如果目標是當(dāng)用戶打開一個鏈接時,他可以確信從自身的角度來看沒有改變資源即可只磷。

通常情況下我們都說POST的安全性要比GET的安全性高(注意:這里所說的安全性和上面GET提到的“安全”不是同個概念经磅。上面“安全”的含義僅僅是不作數(shù)據(jù)修改,而這里安全的含義是真正的Security的含義)钮追,比如:通過GET提交數(shù)據(jù)预厌,用戶名和密碼將明文出現(xiàn)在URL上,比如有一個常見的url:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD元媚,通過這個url我們就知道該用戶的用戶名是:hyddd轧叽,密碼是idontknow。但是就因為這個原因說 POST 比 GET 安全是錯的刊棕,因為POST和GET都是明文傳輸炭晒,用httpfox等插件,或者像WireShark 等類似工具就能觀察到甥角。

POST和GET的差別其實是很大的网严。語義上,GET是獲取指定URL上的資源蜈膨,是讀操作屿笼,重要的一點是不論對某個資源GET多少次,它的狀態(tài)是不會改變的翁巍,在這個意義上,我們說GET是安全的(不是被密碼學(xué)或者數(shù)據(jù)保護意義上的安全)休雌。因為GET是安全的灶壶,所以GET返回的內(nèi)容可以被瀏覽器,Cache服務(wù)器緩存起來(其中還有很多細節(jié)杈曲,但不影響這里的討論)驰凛。

而POST的語意是對指定資源“追加/添加”數(shù)據(jù),所以是不安全的担扑,每次提交的POST恰响,參與的代碼都會認為這個操作會修改操作對象資源的狀態(tài),于是涌献,瀏覽器在你按下F5的時候會跳出確認框胚宦,緩存服務(wù)器不會緩存POST請求返回內(nèi)容。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市枢劝,隨后出現(xiàn)的幾起案子井联,更是在濱河造成了極大的恐慌,老刑警劉巖您旁,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烙常,死亡現(xiàn)場離奇詭異,居然都是意外死亡鹤盒,警方通過查閱死者的電腦和手機蚕脏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侦锯,“玉大人驼鞭,你說我怎么就攤上這事÷蚀ィ” “怎么了终议?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長葱蝗。 經(jīng)常有香客問我穴张,道長,這世上最難降的妖魔是什么两曼? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任皂甘,我火速辦了婚禮,結(jié)果婚禮上悼凑,老公的妹妹穿的比我還像新娘偿枕。我一直安慰自己,他們只是感情好户辫,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布渐夸。 她就那樣靜靜地躺著,像睡著了一般渔欢。 火紅的嫁衣襯著肌膚如雪墓塌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天奥额,我揣著相機與錄音苫幢,去河邊找鬼。 笑死垫挨,一個胖子當(dāng)著我的面吹牛韩肝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播九榔,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼哀峻,長吁一口氣:“原來是場噩夢啊……” “哼涡相!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谜诫,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤漾峡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后喻旷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體生逸,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年且预,在試婚紗的時候發(fā)現(xiàn)自己被綠了槽袄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡锋谐,死狀恐怖遍尺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涮拗,我是刑警寧澤乾戏,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站三热,受9級特大地震影響鼓择,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜就漾,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一呐能、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抑堡,春花似錦摆出、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至有缆,卻和暖如春骑丸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妒貌。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铸豁,地道東北人灌曙。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像节芥,于是被迫代替她去往敵國和親在刺。 傳聞我的和親對象是個殘疾皇子逆害,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容