網(wǎng)絡(luò)傳輸協(xié)議概念和HTTP協(xié)議

網(wǎng)絡(luò)傳輸協(xié)議概念

網(wǎng)絡(luò)傳輸協(xié)議或簡稱為傳送協(xié)議,是指計(jì)算機(jī)通信或網(wǎng)絡(luò)設(shè)備的共同語言。現(xiàn)在最普及的計(jì)算機(jī)通信為網(wǎng)絡(luò)通信,所以“傳送協(xié)議”一般都指計(jì)算機(jī)通信的傳送協(xié)議仰美,如:TCP/IP妻率、NetBEUI、DHCP、FTP绪妹、HTTP等甥桂。然而,傳送協(xié)議也存在于計(jì)算機(jī)的其他形式通信邮旷,例如:面向?qū)ο缶幊汤锩鎸?duì)象之間的通信黄选;操作系統(tǒng)內(nèi)不同程序之間的消息,都需要有一個(gè)傳送協(xié)議婶肩,以確保傳信雙方能夠溝通無間办陷。

放在現(xiàn)實(shí)中的協(xié)議也有很多,這個(gè)協(xié)議是,相互遵守,單方面違背了,不叫協(xié)議,比如停戰(zhàn)協(xié)議,全球貿(mào)易協(xié)議等等.沒有協(xié)議,世界將一片混亂.

當(dāng)然以上例子只列舉了幾個(gè),如果想了解更多網(wǎng)絡(luò)傳輸協(xié)議,請(qǐng)參考維基百科關(guān)鍵詞:網(wǎng)絡(luò)傳輸協(xié)議.

HTTP協(xié)議

我們重點(diǎn)了解一下平時(shí)上網(wǎng)玩網(wǎng)絡(luò)游戲等等都需要涉及到的HTTP協(xié)議.

HTTP協(xié)議中文名叫:超文本傳輸協(xié)議,HTTP是英文單詞HyperText Transfer Protocol開頭字母的縮寫.

它是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。設(shè)計(jì)HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法律歼。通過HTTP或者HTTPS協(xié)議請(qǐng)求的資源由統(tǒng)一資源標(biāo)識(shí)符來標(biāo)識(shí)民镜。

該協(xié)議發(fā)展由蒂姆·伯納斯-李于1989年在歐洲核子研究組織所發(fā)起。由萬維網(wǎng)協(xié)會(huì)和互聯(lián)網(wǎng)工程任務(wù)組制定標(biāo)準(zhǔn)险毁,最終發(fā)布了一系列的RFC制圈,其中最著名的是1999年6月公布的 RFC 2616,定義了HTTP協(xié)議中現(xiàn)今廣泛使用的一個(gè)版本——HTTP 1.1辱揭。

協(xié)議概述

HTTP是一個(gè)客戶端終端(用戶)和服務(wù)器端(網(wǎng)站)請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)离唐。通過使用網(wǎng)頁瀏覽器、網(wǎng)絡(luò)爬蟲或者其它的工具问窃,客戶端發(fā)起一個(gè)HTTP請(qǐng)求到服務(wù)器上指定端口(默認(rèn)端口為80)亥鬓。我們稱這個(gè)客戶端為用戶代理程序。應(yīng)答的服務(wù)器上存儲(chǔ)著一些資源域庇,比如HTML文件和圖像嵌戈。我們稱這個(gè)應(yīng)答服務(wù)器為源服務(wù)器。在用戶代理和源服務(wù)器中間可能存在多個(gè)“中間層”听皿,比如代理服務(wù)器熟呛、網(wǎng)關(guān)或者隧道。

盡管TCP/IP協(xié)議是互聯(lián)網(wǎng)上最流行的應(yīng)用尉姨,HTTP協(xié)議中庵朝,并沒有規(guī)定必須使用它或它支持的層。事實(shí)上又厉,HTTP可以在任何互聯(lián)網(wǎng)協(xié)議上九府,或其他網(wǎng)絡(luò)上實(shí)現(xiàn)。HTTP假定其下層協(xié)議提供可靠的傳輸覆致。因此侄旬,任何能夠提供這種保證的協(xié)議都可以被其使用。因此也就是其在TCP/IP協(xié)議族使用TCP作為其傳輸層煌妈。

通常儡羔,由HTTP客戶端發(fā)起一個(gè)請(qǐng)求宣羊,創(chuàng)建一個(gè)到服務(wù)器指定端口(默認(rèn)是80端口)的TCP連接。HTTP服務(wù)器則在那個(gè)端口監(jiān)聽客戶端的請(qǐng)求汰蜘。一旦收到請(qǐng)求仇冯,服務(wù)器會(huì)向客戶端返回一個(gè)狀態(tài),比如"HTTP/1.1 200 OK"鉴扫,以及返回的內(nèi)容赞枕,如請(qǐng)求的文件澈缺、錯(cuò)誤消息坪创、或者其它信息。

請(qǐng)求信息

發(fā)出的請(qǐng)求信息包括如下:

請(qǐng)求行(例如:GET /images/log.png HTTP/1.1) --> 表示從哪個(gè)目錄中用什么樣的標(biāo)準(zhǔn)用什么樣的方式請(qǐng)求log.png
請(qǐng)求頭(格式key:value)
空行 
其他信息體

例如:

POST /01/01/php HTTP/1.1
Host:localhost
Content-type:
application/x-www-form-urlencode
Content-length:5

age=3

請(qǐng)求方法

HTTP/1.1協(xié)議中共定義了八種方法(也叫“動(dòng)作”)來以不同方式操作指定的資源:
OPTIONS:這個(gè)方法可使服務(wù)器傳回該資源所支持的所有HTTP請(qǐng)求方法姐赡。用'*'來代替資源名稱莱预,向Web服務(wù)器發(fā)送OPTIONS請(qǐng)求,可以測試服務(wù)器功能是否正常運(yùn)作项滑。

HEAD:與GET方法一樣依沮,都是向服務(wù)器發(fā)出指定資源的請(qǐng)求。只不過服務(wù)器將不傳回資源的本文部分枪狂。它的好處在于危喉,使用這個(gè)方法可以在不必傳輸全部內(nèi)容的情況下,就可以獲取其中“關(guān)于該資源的信息”(元信息或稱元數(shù)據(jù))州疾。

GET:向指定的資源發(fā)出“顯示”請(qǐng)求辜限。使用GET方法應(yīng)該只用在讀取數(shù)據(jù),而不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中严蓖,例如在Web Application中薄嫡。其中一個(gè)原因是GET可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪問。

POST:向指定資源提交數(shù)據(jù)颗胡,請(qǐng)求服務(wù)器進(jìn)行處理(例如提交表單或者上傳文件)毫深。數(shù)據(jù)被包含在請(qǐng)求本文中。這個(gè)請(qǐng)求可能會(huì)創(chuàng)建新的資源或修改現(xiàn)有資源毒姨,或二者皆有哑蔫。

PUT:向指定資源位置上傳其最新內(nèi)容。

DELETE:請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源弧呐。

TRACE:回顯服務(wù)器收到的請(qǐng)求闸迷,主要用于測試或診斷。

CONNECT:HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器泉懦。通常用于SSL加密服務(wù)器的鏈接(經(jīng)由非加密的HTTP代理服務(wù)器)稿黍。
方法名稱是區(qū)分大小寫的。當(dāng)某個(gè)請(qǐng)求所針對(duì)的資源不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候崩哩,服務(wù)器應(yīng)當(dāng)返回狀態(tài)碼405(Method Not Allowed)巡球,當(dāng)服務(wù)器不認(rèn)識(shí)或者不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候言沐,應(yīng)當(dāng)返回狀態(tài)碼501(Not Implemented)。
HTTP服務(wù)器至少應(yīng)該實(shí)現(xiàn)GET和HEAD方法酣栈,其他方法都是可選的险胰。當(dāng)然,所有的方法支持的實(shí)現(xiàn)都應(yīng)當(dāng)匹配下述的方法各自的語義定義矿筝。此外起便,除了上述方法,特定的HTTP服務(wù)器還能夠擴(kuò)展自定義的方法窖维。例如:

PATCH:用于將局部修改應(yīng)用到資源榆综。

響應(yīng)信息

服務(wù)器響應(yīng)回來的信息如下:

響應(yīng)行(協(xié)議 狀態(tài)嗎 狀態(tài)文字)
響應(yīng)頭信息(格式為 key:value)
空行
主體信息(也可以沒有)

例如:

HTTP/1.1 200 OK
Content-type:text/html
Content-length:5

hello

所有HTTP響應(yīng)的第一行都是狀態(tài)行,依次是當(dāng)前HTTP版本號(hào)铸史,3位數(shù)字組成的狀態(tài)代碼鼻疮,以及描述狀態(tài)的短語,彼此由空格分隔琳轿。
狀態(tài)代碼的第一個(gè)數(shù)字代表當(dāng)前響應(yīng)的類型:
1xx消息——請(qǐng)求已被服務(wù)器接收判沟,繼續(xù)處理
2xx成功——請(qǐng)求已成功被服務(wù)器接收、理解崭篡、并接受
3xx重定向——需要后續(xù)操作才能完成這一請(qǐng)求
4xx請(qǐng)求錯(cuò)誤——請(qǐng)求含有詞法錯(cuò)誤或者無法被執(zhí)行
5xx服務(wù)器錯(cuò)誤——服務(wù)器在處理某個(gè)正確請(qǐng)求時(shí)發(fā)生錯(cuò)誤
雖然 RFC 2616 中已經(jīng)推薦了描述狀態(tài)的短語挪哄,例如"200 OK","404 Not Found"琉闪,但是WEB開發(fā)者仍然能夠自行決定采用何種短語迹炼,用以顯示本地化的狀態(tài)描述或者自定義信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塘偎,一起剝皮案震驚了整個(gè)濱河市疗涉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吟秩,老刑警劉巖咱扣,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異涵防,居然都是意外死亡闹伪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門壮池,熙熙樓的掌柜王于貴愁眉苦臉地迎上來偏瓤,“玉大人,你說我怎么就攤上這事椰憋√耍” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵橙依,是天一觀的道長证舟。 經(jīng)常有香客問我硕旗,道長,這世上最難降的妖魔是什么女责? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任漆枚,我火速辦了婚禮,結(jié)果婚禮上抵知,老公的妹妹穿的比我還像新娘墙基。我一直安慰自己,他們只是感情好刷喜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布残制。 她就那樣靜靜地躺著,像睡著了一般吱肌。 火紅的嫁衣襯著肌膚如雪痘拆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天氮墨,我揣著相機(jī)與錄音,去河邊找鬼吐葵。 笑死规揪,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的温峭。 我是一名探鬼主播猛铅,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼凤藏!你這毒婦竟也來了奸忽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤揖庄,失蹤者是張志新(化名)和其女友劉穎栗菜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蹄梢,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疙筹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了禁炒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片而咆。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖幕袱,靈堂內(nèi)的尸體忽然破棺而出暴备,到底是詐尸還是另有隱情,我是刑警寧澤们豌,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布涯捻,位于F島的核電站阁危,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏汰瘫。R本人自食惡果不足惜狂打,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望混弥。 院中可真熱鬧趴乡,春花似錦、人聲如沸蝗拿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哀托。三九已至惦辛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仓手,已是汗流浹背胖齐。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嗽冒,地道東北人呀伙。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像添坊,于是被迫代替她去往敵國和親剿另。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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