iOS-GET和POST請(qǐng)求的區(qū)別

序言

現(xiàn)在項(xiàng)目中常用的請(qǐng)求要么是GET,要么是POST請(qǐng)求,所以搞清楚兩者的區(qū)別顯的至關(guān)重要斥季,也是面試常考的題累驮。

GET請(qǐng)求

POST請(qǐng)求

image.png
一 提交數(shù)據(jù)位置

GET提交

請(qǐng)求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中)酣倾,以?分割URL和傳輸數(shù)據(jù),多個(gè)參數(shù)用&連接谤专;例 如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD躁锡。如果數(shù)據(jù)是英文字母/數(shù)字,原樣發(fā)送置侍,如果是空格映之,轉(zhuǎn)換為+,如果是中文/其他字符蜡坊,則直接把字符串用BASE64加密惕医,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX為該符號(hào)以16進(jìn)制表示的ASCII算色。

POST提交

把提交的數(shù)據(jù)放置在是HTTP包的包體中。

因此螟够,GET提交的數(shù)據(jù)會(huì)在地址欄中顯示出來灾梦,而POST提交,地址欄不會(huì)改變

二 傳輸數(shù)據(jù)的大小

首先聲明:HTTP協(xié)議沒有對(duì)傳輸?shù)臄?shù)據(jù)大小進(jìn)行限制妓笙,HTTP協(xié)議規(guī)范也沒有對(duì)URL長(zhǎng)度進(jìn)行限制若河。

GET

特定瀏覽器和服務(wù)器對(duì)URL長(zhǎng)度有限制,例如 IE對(duì)URL長(zhǎng)度的限制是2083字節(jié)(2K+35)寞宫。對(duì)于其他瀏覽器萧福,如Netscape、FireFox等辈赋,理論上沒有長(zhǎng)度限制鲫忍,其限制取決于操作系 統(tǒng)的支持。

因此對(duì)于GET提交時(shí)钥屈,傳輸數(shù)據(jù)就會(huì)受到URL長(zhǎng)度的 限制悟民。

POST

由于不是通過URL傳值,理論上數(shù)據(jù)不受 限篷就。但實(shí)際各個(gè)WEB服務(wù)器會(huì)規(guī)定對(duì)post提交數(shù)據(jù)大小進(jìn)行限制射亏,Apache、IIS6都有各自的配置。

三 安全性

POST的安全性要比GET的安全性高智润。比如:通過GET提交數(shù)據(jù)及舍,用戶名和密碼將明文出現(xiàn)在URL上。

  1. 登錄頁(yè)面有可能被瀏覽器緩存窟绷;

  2. 其他人查看瀏覽器的歷史紀(jì)錄锯玛,那么別人就可以拿到你的賬號(hào)和密碼了。

除此之外钾麸,使用GET提交數(shù)據(jù)還可能會(huì)造成Cross-site request forgery攻擊

四 Http get,post,soap協(xié)議都是在http上運(yùn)行的
  • get:請(qǐng)求參數(shù)是作為一個(gè)key/value對(duì)的序列(查詢字符串)附加到URL上的

查詢字符串的長(zhǎng)度受到web瀏覽器和web服務(wù)器的限制(如IE最多支持2048個(gè)字符)更振,不適合傳輸大型數(shù)據(jù)集同時(shí),它很不安全

  • post:請(qǐng)求參數(shù)是在http標(biāo)題的一個(gè)不同部分(名為entity body)傳輸?shù)姆钩ⅲ@一部分用來傳輸表單信息肯腕,因此必須將Content-type設(shè)置為:application/x-www-form- urlencoded。

post設(shè)計(jì)用來支持web窗體上的用戶字段钥平,其參數(shù)也是作為key/value對(duì)傳輸实撒。

但是:它不支持復(fù)雜數(shù)據(jù)類型,因?yàn)閜ost沒有定義傳輸數(shù)據(jù)結(jié)構(gòu)的語義和規(guī)則涉瘾。

  • soap:是http post的一個(gè)專用版本知态,遵循一種特殊的xml消息格式

Content-type設(shè)置為: text/xml 任何數(shù)據(jù)都可以xml化。

總結(jié)

  • Http協(xié)議定義了很多與服務(wù)器交互的方法立叛,最基本的有4種负敏,分別是GETPOST秘蛇、PUT其做、DELETE

  • 一個(gè)URL地址用于描述一個(gè)網(wǎng)絡(luò)上的資源,而HTTP中的GET, POST, PUT, DELETE就對(duì)應(yīng)著對(duì)這個(gè)資源的查赁还,改妖泄,增,刪4個(gè)操作艘策。

  • 我們最常見的就是GET和POST了蹈胡。GET一般用于獲取/查詢資源信息,而POST一般用于更新資源信息.

我們看看GET和POST的區(qū)別

  • GET提交的數(shù)據(jù)會(huì)放在URL之后朋蔫,以?分割URL和傳輸數(shù)據(jù)罚渐,參數(shù)之間以&相連, 操作簡(jiǎn)單, 不過容易讓外界看到, 安全性不高驯妄。POST 請(qǐng)求, 將參數(shù)放到 body 里面, POST請(qǐng)求的操作相對(duì)復(fù)雜, 需要將參數(shù)和地址分開, 不過安全性高,參數(shù)放在body里面, 不容易被捕獲搅轿。

  • GET提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制),而POST方法提交的數(shù)據(jù)沒有限制富玷。

  • 一般用GET來進(jìn)行獲取數(shù)據(jù)璧坟,因?yàn)橛芯彺婕饶拢钥梢越档头?wù)器的壓力;而POST一般用來進(jìn)行操作數(shù)據(jù)雀鹃,如增刪改幻工。

  • GET方式需要使用Request.QueryString來取得變量的值,而POST方式通過Request.Form來獲取變量的值黎茎。

  • GET方式提交數(shù)據(jù)囊颅,會(huì)帶來安全問題,比如一個(gè)登錄頁(yè)面傅瞻,通過GET方式提交數(shù)據(jù)時(shí)踢代,用戶名和密碼將出現(xiàn)在URL上,如果頁(yè)面可以被緩存或者其他人可以訪問這臺(tái)機(jī)器嗅骄,就可以從歷史記錄獲得該用戶的賬號(hào)和密碼.


本文參考
關(guān)于HTTP協(xié)議胳挎,一篇就夠了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市溺森,隨后出現(xiàn)的幾起案子慕爬,更是在濱河造成了極大的恐慌,老刑警劉巖屏积,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件医窿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡炊林,警方通過查閱死者的電腦和手機(jī)姥卢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渣聚,“玉大人独榴,你說我怎么就攤上這事《穑” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵彪标,是天一觀的道長(zhǎng)倍权。 經(jīng)常有香客問我,道長(zhǎng)捞烟,這世上最難降的妖魔是什么薄声? 我笑而不...
    開封第一講書人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮题画,結(jié)果婚禮上默辨,老公的妹妹穿的比我還像新娘。我一直安慰自己苍息,他們只是感情好缩幸,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開白布壹置。 她就那樣靜靜地躺著,像睡著了一般表谊。 火紅的嫁衣襯著肌膚如雪钞护。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評(píng)論 1 312
  • 那天爆办,我揣著相機(jī)與錄音难咕,去河邊找鬼。 笑死距辆,一個(gè)胖子當(dāng)著我的面吹牛余佃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播跨算,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼爆土,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了漂彤?” 一聲冷哼從身側(cè)響起雾消,我...
    開封第一講書人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挫望,沒想到半個(gè)月后立润,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡媳板,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年桑腮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛉幸。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡破讨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奕纫,到底是詐尸還是另有隱情提陶,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布匹层,位于F島的核電站隙笆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏升筏。R本人自食惡果不足惜撑柔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望您访。 院中可真熱鬧铅忿,春花似錦、人聲如沸灵汪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至肢扯,卻和暖如春妒茬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蔚晨。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工乍钻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铭腕。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓银择,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親累舷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浩考,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361