HTTP請(qǐng)求:GET與POST方法的區(qū)別

數(shù)據(jù)均來(lái)自網(wǎng)絡(luò):請(qǐng)支持原創(chuàng)作者。

www.blogjava.net/beandy809/archive/2007/11/21/162074.html

www.apkbus.com/android-13575-1-1.html

第一種版本:

HTTP 定義了與服務(wù)器交互的不同方法,最基本的方法是 GET 和 POST饶火。

事實(shí)上 GET 適用于多數(shù)請(qǐng)求崇堵,而保留 POST 僅用于更新站點(diǎn)桨吊。根據(jù) HTTP 規(guī)范挎塌,GET 用于信息獲取艘蹋,而且應(yīng)該是 安全的和 冪等的沸手。所謂安全的意味著該操作用于獲取信息而非修改信息外遇。換句話說(shuō),GET 請(qǐng)求一般不應(yīng)產(chǎn)生副作用契吉。冪等的意味著對(duì)同一 URL 的多個(gè)請(qǐng)求應(yīng)該返回同樣的結(jié)果跳仿。完整的定義并不像看起來(lái)那樣嚴(yán)格。從根本上講捐晶,其目標(biāo)是當(dāng)用戶打開(kāi)一個(gè)鏈接時(shí)菲语,它可以確信從自身的角度來(lái)看沒(méi)有改變資源。比如惑灵,新聞?wù)军c(diǎn)的頭版不斷更新山上。雖然第二次請(qǐng)求會(huì)返回不同的一批新聞,該操作仍然被認(rèn)為是安全的和冪等的英支,因?yàn)樗偸欠祷禺?dāng)前的新聞佩憾。反之亦然。

POST 請(qǐng)求就不那么輕松了。POST 表示可能改變服務(wù)器上的資源的請(qǐng)求妄帘。仍然以新聞?wù)军c(diǎn)為例楞黄,讀者對(duì)文章的注解應(yīng)該通過(guò) POST 請(qǐng)求實(shí)現(xiàn),因?yàn)樵谧⒔馓峤恢笳军c(diǎn)已經(jīng)不同了(比方說(shuō)文章下面出現(xiàn)一條注解)寄摆;

在FORM提交的時(shí)候谅辣,如果不指定Method,則默認(rèn)為GET請(qǐng)求婶恼,F(xiàn)orm中提交的數(shù)據(jù)將會(huì)附加在url之后桑阶,以?分開(kāi)與url分開(kāi)。字母數(shù)字字符原樣發(fā)送勾邦,但空格轉(zhuǎn)換為“+“號(hào)蚣录,其它符號(hào)轉(zhuǎn)換為%XX,其中XX為該符號(hào)以16進(jìn)制表示的ASCII(或ISO Latin-1)值。GET請(qǐng)求請(qǐng)?zhí)峤坏臄?shù)據(jù)放置在HTTP請(qǐng)求協(xié)議頭中眷篇,而POST提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)中萎河;

GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒(méi)有此限制蕉饼。

第二種版本:

1)get是從服務(wù)器上獲取數(shù)據(jù)虐杯,post是向服務(wù)器傳送數(shù)據(jù)。

(1)? ?在客戶端昧港,Get方式在通過(guò)URL提交數(shù)據(jù)擎椰,數(shù)據(jù)在URL中可以看到;POST方式创肥,數(shù)據(jù)放置在HTML HEADER內(nèi)提交达舒。

(2) 對(duì)于get方式,服務(wù)器端用Request.QueryString獲取變量的值叹侄,對(duì)于post方式巩搏,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。

(2) GET方式提交的數(shù)據(jù)最多只能有1024字節(jié)趾代,而POST則沒(méi)有此限制贯底。

(3)? ?安全性問(wèn)題。正如在(1)中提到撒强,使用 Get 的時(shí)候丈甸,參數(shù)會(huì)顯示在地址欄上,而 Post 不會(huì)尿褪。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù)得湘,那么使用 get杖玲;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好淘正。

下面舉一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明它們的區(qū)別:

<!-分別通過(guò)get和post方式提交表單-->?

?<FORM ACTION="getpost.asp" METHOD="get">?

?<INPUT TYPE="text" VALUE="http://wxf0701.cnblogs.com//>?

?<INPUT TYPE="submit" VALUE="Get方式"></INPUT>?

?</FORM> <BR> <FORM ACTION="getpost.asp" METHOD="post">?

?<INPUT TYPE="text" VALUE="http://wxf0701.cnblogs.com/>?

?<INPUT TYPE="submit" VALUE="Post方式"></INPUT> </FORM> <BR>


<% If Request.QueryString("Text") <> "" Then %>

通過(guò)get方式傳遞的字符串是: "<%= Request.QueryString("Text") %>"

<% End If %>

<% If Request.Form("Text") <> "" Then %>

通過(guò)Post方式傳遞的字符串是: "<%= Request.Form("Text") %>"

<% End If %>

第三種版本:

Form中的get和post方法摆马,在數(shù)據(jù)傳輸過(guò)程中分別對(duì)應(yīng)了HTTP協(xié)議中的GET和POST方法臼闻。二者主要區(qū)別如下:

1、Get是用來(lái)從服務(wù)器上獲得數(shù)據(jù)囤采,而Post是用來(lái)向服務(wù)器上傳遞數(shù)據(jù)述呐。

2、 Get將表單中數(shù)據(jù)的按照variable=value的形式蕉毯,添加到action所指向的URL后面乓搬,并且兩者使用“?”連接,而各個(gè)變量之間使用 “&”連接代虾;Post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中进肯,按照變量和值相對(duì)應(yīng)的方式,傳遞到action所指向URL棉磨。

3江掩、 Get是不安全的,因?yàn)樵趥鬏斶^(guò)程乘瓤,數(shù)據(jù)被放在請(qǐng)求的URL中环形,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會(huì)將請(qǐng)求URL記錄到日志文件中衙傀,然后放在某個(gè)地方抬吟,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外差油,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù)拗军,一些系統(tǒng)內(nèi)部消息將會(huì)一同顯示在用戶面前。 Post的所有操作對(duì)用戶來(lái)說(shuō)都是不可見(jiàn)的蓄喇。

4发侵、Get傳輸?shù)臄?shù)據(jù)量小,這主要是因?yàn)槭躑RL長(zhǎng)度限制妆偏;而Post可以傳輸大量的數(shù)據(jù)刃鳄,所以在上傳文件只能使用Post(當(dāng)然還有一個(gè)原因,將在后面的提到)钱骂。

5叔锐、Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而Post支持整個(gè)ISO10646字符集见秽。

6愉烙、Get是Form的默認(rèn)方法。

action的引號(hào)內(nèi)填的是路徑方法解取,比如發(fā)送到郵箱或其他網(wǎng)頁(yè)什么的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末步责,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔓肯,老刑警劉巖遂鹊,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蔗包,居然都是意外死亡秉扑,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門调限,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)舟陆,“玉大人,你說(shuō)我怎么就攤上這事旧噪《帜龋” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵淘钟,是天一觀的道長(zhǎng)宦赠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)米母,這世上最難降的妖魔是什么勾扭? 我笑而不...
    開(kāi)封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮铁瞒,結(jié)果婚禮上妙色,老公的妹妹穿的比我還像新娘。我一直安慰自己慧耍,他們只是感情好身辨,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著芍碧,像睡著了一般煌珊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泌豆,一...
    開(kāi)封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天定庵,我揣著相機(jī)與錄音,去河邊找鬼踪危。 笑死蔬浙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贞远。 我是一名探鬼主播畴博,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蓝仲!你這毒婦竟也來(lái)了绎晃?” 一聲冷哼從身側(cè)響起蜜唾,我...
    開(kāi)封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庶艾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體擎勘,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡咱揍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棚饵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片煤裙。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖噪漾,靈堂內(nèi)的尸體忽然破棺而出硼砰,到底是詐尸還是另有隱情,我是刑警寧澤欣硼,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布题翰,位于F島的核電站,受9級(jí)特大地震影響诈胜,放射性物質(zhì)發(fā)生泄漏豹障。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一焦匈、第九天 我趴在偏房一處隱蔽的房頂上張望血公。 院中可真熱鬧,春花似錦缓熟、人聲如沸累魔。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)垦写。三九已至,卻和暖如春版述,著一層夾襖步出監(jiān)牢的瞬間梯澜,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工渴析, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晚伙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓俭茧,卻偏偏與公主長(zhǎng)得像咆疗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子母债,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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