下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 3/3http協(xié)議及post與get操作 竭誠為您提供優(yōu)質(zhì)文檔/雙擊可除http協(xié)議及post與get操作 篇一:http協(xié)議中post與get本質(zhì)區(qū)別詳解 一原理區(qū)別 一般在瀏覽器中輸入網(wǎng)址訪問資源都是通過get方式;在FoRm提交中,可以通過method指定提交方式為get或者post,默認(rèn)為get提交 http定義了與服務(wù)器交互的不同方法,最基本的方法有4種,分別是get,post,put,delete uRl全稱是資源描述符,我們可以這樣認(rèn)為:一個(gè)uRl 地址,它用于描述一個(gè)網(wǎng)絡(luò)上的資源,而http中的get,post,put,delete就對應(yīng)著對這個(gè)資源的查,改,增,刪4個(gè)操作。
2、到這里,大家應(yīng)該有個(gè)大概的了解了,get一般用于獲取/查詢資源信息,而post一般用于更新資源信息(個(gè)人認(rèn)為這是get和post的本質(zhì)區(qū)別,也是協(xié)議設(shè)計(jì)者的本意,其它區(qū)別都是具體表現(xiàn)形式的差異)。 根據(jù)http規(guī)范,get用于信息獲取,而且應(yīng)該是安全的和冪等的。 1.所謂安全的意味著該操作用于獲取信息而非修改信 息。換句話說,get請求一般不應(yīng)產(chǎn)生副作用。就是說,它僅僅是獲取資源信息,就像數(shù)據(jù)庫查詢一樣,不會(huì)修改,增加數(shù)據(jù),不會(huì)影響資源的狀態(tài)。 *注意:這里安全的含義僅僅是指是非修改信息。 2.冪等的意味著對同一uRl的多個(gè)請求應(yīng)該返回同樣的結(jié)果。這里我再解釋一下冪等這個(gè)概念: 冪等(idem
3、potent、idempotence)是一個(gè)數(shù)學(xué)或計(jì)算機(jī)學(xué)概念,常見于抽象代數(shù)中。冪等有以下幾種定義:對于單目運(yùn)算,如果一個(gè)運(yùn)算對于在范圍內(nèi)的所有的一個(gè)數(shù)多次進(jìn)行該運(yùn)算所得的結(jié)果和進(jìn)行一次該運(yùn)算所得的 結(jié)果是一樣的,那么我們就稱該運(yùn)算是冪等的。比如絕對值運(yùn)算就是一個(gè)例子,在實(shí)數(shù)集中,有abs(a)=abs(abs(a)。 對于雙目運(yùn)算,則要求當(dāng)參與運(yùn)算的兩個(gè)值是等值的情況下,如果滿足運(yùn)算結(jié)果與參與運(yùn)算的兩個(gè)值相等,則稱該運(yùn)算冪等,如求兩個(gè)數(shù)的最大值的函數(shù),有在在實(shí)數(shù)集中冪等,即max(x,x)=x。 看完上述解釋后,應(yīng)該可以理解get冪等的含義了。 但在實(shí)際應(yīng)用中,以上2條規(guī)定并沒有這么嚴(yán)格。
4、引用別人文章的例子:比如,新聞?wù)军c(diǎn)的頭版不斷更新。雖然第二次請求會(huì)返回不同的一批新聞,該操作仍然被認(rèn)為是安全的和冪等的,因?yàn)樗偸欠祷禺?dāng)前的新聞。從根本上說,如果目標(biāo)是當(dāng)用戶打開一個(gè)鏈接時(shí),他可以確信從自身的角度 來看沒有改變資源即可。 根據(jù)http規(guī)范,post表示可能修改變服務(wù)器上的資源的請求。繼續(xù)引用上面的例子:還是新聞以網(wǎng)站為例,讀者對新聞發(fā)表自己的評論應(yīng)該通過post實(shí)現(xiàn),因?yàn)樵谠u論提交后站點(diǎn)的資源已經(jīng)不同了,或者說資源被修改了。 上面大概說了一下http規(guī)范中,get和post的一些原理性的問題。但在實(shí)際的做的時(shí)候,很多人卻沒有按照http 規(guī)范去做,導(dǎo)致這個(gè)問題的原因有很多,比如
5、說: 1.很多人貪方便,更新資源時(shí)用了get,因?yàn)橛胮ost必須要到FoRm(表單),這樣會(huì)麻煩一點(diǎn)。 2.對資源的增,刪,改,查操作,其實(shí)都可以通過 get/post完成,不需要用到put和delete。 3.另外一個(gè)是,早期的但是webmVc框架設(shè)計(jì)者們并沒有有意識(shí)地將uRl當(dāng)作抽象的資源來看待和設(shè)計(jì)。還有一個(gè)較為嚴(yán)重的問題是傳統(tǒng)的webmVc框架基本上都只支持get 和post兩種http方法,而不支持put和delete方法。 *簡單解釋一下mVc:mVc本來是存在于desktop程序中的,m是指數(shù)據(jù)模型,V是指用戶界面,c則是控制器。使用mVc的目的是將m和V的實(shí)現(xiàn)代碼分離,從而使同
6、一個(gè)程序可以使用不同的表現(xiàn)形式。 以上3點(diǎn)典型地描述了老一套的風(fēng)格(沒有嚴(yán)格遵守http規(guī)范),隨著架構(gòu)的發(fā)展,現(xiàn)在出現(xiàn) Rest(Representationalstatetransfer),一套支持http規(guī)范的新風(fēng)格,這里不多說了,可以參考Restfulwebservices。 二表現(xiàn)形式區(qū)別 搞清了兩者的原理區(qū)別,我們再來看一下他們實(shí)際應(yīng)用中的區(qū)別: 為了理解兩者在傳輸過程中的不同,我們先看一下http 協(xié)議的格式: http請求: 在http請求中,第一行必須是一個(gè)請求行(requestline),用來說明請求類型、要訪問的資源以及使用的http版本。緊接著是一個(gè)首部(header)
7、小節(jié),用來說明服務(wù)器要使用的附加信息。在首部之后是一個(gè)空行,再此之后可以添加任意的其他數(shù)據(jù)稱之為主體(body)。 get與post方法實(shí)例: get/books/sex=manu;windowsnt5.1;en-us;rv:1.7.6) gecko/20 xx0225Firefox/1.0.1 connection:keep-alive post/http/1.1 host: user-agent:mozilla/5.0(windows;u;windowsnt5.1;en-us ;rv:1.7.6) gecko/20 xx0225Firefox/1.0.1 content-type:application/x-form-urlencoded content-length:40 connection:keep-alive (此處空一行) name=professional%20ajaxcharset=iso-8859-1 content-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書出版權(quán)使用合同范本
- 雨棚建設(shè)施工合同案例
- 弱電監(jiān)控施工合同樣本
- 企業(yè)高級管理聘用合同案例
- 鋼材定制加工合同樣本
- 旅游包車服務(wù)協(xié)議
- 2024防盜門改裝外開協(xié)議
- 標(biāo)準(zhǔn)版房屋出租代理合同
- 房產(chǎn)廣告制作合同范本
- 廣告合作合同案例
- 項(xiàng)目競爭優(yōu)勢
- 中醫(yī)常見的護(hù)理診斷及護(hù)理措施
- 設(shè)備技改方案范文
- 防寒潮安全教育
- 中藥基礎(chǔ)知識(shí)培訓(xùn)試題
- 《釬焊方法及工藝》課件
- 第10課《興趣是個(gè)好老師》課件
- 四年級上冊綜合實(shí)踐課課件
- 社區(qū)健康小屋實(shí)施方案
- 掘進(jìn)機(jī)安標(biāo)受控件明細(xì)表
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
評論
0/150
提交評論