HTTP學(xué)習(xí)筆記

最近在溫習(xí)http,就把筆記復(fù)習(xí)整理了下沟蔑!

1.0 網(wǎng)絡(luò)基礎(chǔ)TCP/IP

通常使用的網(wǎng)絡(luò)(包含互聯(lián)網(wǎng))是在TCP/IP協(xié)議族的基礎(chǔ)上運(yùn)作的求类。HTTP屬于它內(nèi)部的一個(gè)子集。

1.0.1 TCP/IP協(xié)議族

計(jì)算機(jī)與網(wǎng)絡(luò)要相互通信叠穆,雙方就必須基于相同的方法少漆。比如,如何探測(cè)到通信目標(biāo)硼被、由哪一邊先發(fā)起通信示损、使用哪種語(yǔ)言進(jìn)行通信、怎樣結(jié)束通信等規(guī)則都需要實(shí)現(xiàn)確定嚷硫。不同的硬件检访、操作系統(tǒng)之間的通信,所有的這一切都需要一種規(guī)則论巍。而我們就把這種規(guī)則稱為協(xié)議(protocol)烛谊。
IEEE802.3、FDDI嘉汰、 ICMP丹禀、 TCP、IP鞋怀、 HTTP 双泪、DNS、FTP密似、PPPoE焙矛、UDP、SNMP

1.0.2 TCP/IP的分層管理

TCP/IP的協(xié)議族里重要的一點(diǎn)就是分層残腌。分別分為以下四層:應(yīng)用層村斟、傳輸層
、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層抛猫。
層次化是有好處的蟆盹,如果互聯(lián)網(wǎng)只由一個(gè)協(xié)議統(tǒng)籌,某個(gè)地方需要改變?cè)O(shè)計(jì)時(shí)闺金,就必須把所有部分整體替換掉/而分層之后只需把變動(dòng)的層替換掉即可逾滥。把各層之間的接口部分規(guī)劃好之后,每個(gè)層次內(nèi)部的設(shè)計(jì)就能夠自由改動(dòng)了败匹。
層次化后寨昙,設(shè)計(jì)也變得相對(duì)簡(jiǎn)單了讥巡。處于應(yīng)用層上的應(yīng)用可以只考慮分派給自己的任務(wù),而不需要弄清對(duì)方在地球上哪個(gè)地方舔哪、對(duì)方的傳輸路線是怎樣的欢顷、是否能確保傳輸送達(dá)等問(wèn)題。

應(yīng)用層

應(yīng)用層決定了向用戶提供應(yīng)用服務(wù)時(shí)的通信活動(dòng)尸红。
TCP/IP協(xié)議族內(nèi)預(yù)存了各類通用的應(yīng)用服務(wù)吱涉。比如FTP(File Transfer Protocol 文件傳輸協(xié)議)和DNS(Domain Name System 域名系統(tǒng))服務(wù)就是其中2類,HTTP協(xié)議也處于該層外里。

傳輸層

傳輸層相對(duì)于上層應(yīng)用層怎爵,提供處于網(wǎng)絡(luò)連接中的兩臺(tái)計(jì)算機(jī)之間的數(shù)據(jù)傳輸。在傳輸層有2個(gè)性質(zhì)不同的協(xié)議:TCP(Transmission Control Protocol盅蝗,傳輸控制協(xié)議)和UDP(User Data Protocol鳖链,用戶數(shù)據(jù)報(bào)協(xié)議)。

網(wǎng)絡(luò)層(網(wǎng)絡(luò)互連層)

網(wǎng)絡(luò)層用來(lái)處理網(wǎng)絡(luò)上流動(dòng)的數(shù)據(jù)包墩莫。數(shù)據(jù)包是網(wǎng)絡(luò)傳輸?shù)淖钚?shù)據(jù)單位芙委。該層規(guī)定了通過(guò)怎樣的路徑(所謂的傳輸路線)到達(dá)對(duì)方計(jì)算機(jī),并把數(shù)據(jù)包傳給對(duì)方狂秦。與對(duì)方計(jì)算機(jī)之間通過(guò)多臺(tái)計(jì)算機(jī)或網(wǎng)絡(luò)設(shè)備進(jìn)行傳輸時(shí)灌侣,網(wǎng)絡(luò)層所起的作用就是在眾多的選項(xiàng)內(nèi)選擇一條傳輸路線。

鏈路層(數(shù)據(jù)鏈路層/網(wǎng)絡(luò)接口層)

用來(lái)處理連接網(wǎng)絡(luò)的硬件部分裂问。包括控制操作系統(tǒng)侧啼、硬件的設(shè)備驅(qū)動(dòng)、NIC(Network Interface Card 網(wǎng)絡(luò)適配器堪簿,即網(wǎng)卡)痊乾,及光纖等物理可見(jiàn)部分(還包括連接器等一切傳輸媒介)。硬件上的范疇均在鏈路層的作用范圍之內(nèi)椭更。

1.1 與HTTP關(guān)系密切的協(xié)議:IP哪审、TCP和DNS

1.1.1 負(fù)責(zé)傳輸?shù)腎P協(xié)議

按層次分,IP(Internet Protocol)網(wǎng)際協(xié)議位于網(wǎng)絡(luò)層虑瀑。Internet Protocol湿滓,幾乎所有使用網(wǎng)絡(luò) 的系統(tǒng)都會(huì)用到IP協(xié)議。TCP/IP協(xié)議族中的IP指的就是網(wǎng)際協(xié)議舌狗,協(xié)議名稱中占了一半位置叽奥,氣重要性可見(jiàn)一斑。注意和IP地址區(qū)分把夸。
IP協(xié)議的作用是把數(shù)據(jù)包傳給對(duì)方而线。而要保證確實(shí)傳送到對(duì)方那里铭污,則需要滿足各類條件恋日。其中兩個(gè)重要的條件是IP地址和MAC地址(Media Access Control Address)膀篮。
IP地址指明了節(jié)點(diǎn)被分配到的地址,MAC地址是指網(wǎng)卡所屬的固定地址岂膳。IP地址可以和MAC地址進(jìn)行配對(duì)誓竿。IP地址可變換,但MAC地址基本不會(huì)更改谈截。

1.1.2 ARP(Address Resolution Protocol)

該協(xié)議是一種用以解析地址的協(xié)議筷屡,根據(jù)通信方的IP地址就可以反查初對(duì)應(yīng)的MAC地址。
IP間的通信依賴MAC地址簸喂。在網(wǎng)絡(luò)上毙死,通信的雙方在同一局域網(wǎng)(LAN)內(nèi)的情況是很少的,通常是要經(jīng)過(guò)多臺(tái)計(jì)算機(jī)和網(wǎng)絡(luò)設(shè)備中專才能連接到對(duì)方喻鳄。而在進(jìn)行中轉(zhuǎn)時(shí)扼倘,會(huì)利用下一站中轉(zhuǎn)設(shè)備的MAC地址來(lái)搜索下一中轉(zhuǎn)目標(biāo)。這時(shí)會(huì)采用ARP協(xié)議除呵。(類似快遞寄送)

1.1.3 確痹倬眨可靠性的TCP協(xié)議 --- 三次握手

按層次分,TCP位于傳輸層颜曾,提供可靠的字節(jié)流服務(wù)纠拔。
所謂的字節(jié)流服務(wù)(Byte Stream Service)是指,為了方便傳輸泛豪,將大塊數(shù)據(jù)分割成以報(bào)文段(segment)為單位的數(shù)據(jù)包進(jìn)行管理稠诲。而可靠的傳輸服務(wù)是指,能夠把數(shù)據(jù)準(zhǔn)確可靠的傳給對(duì)方候址。一言以蔽之吕粹,TCP協(xié)議為了更容易傳送大數(shù)據(jù)才把數(shù)據(jù)分割,而且TCP協(xié)議能夠確認(rèn)數(shù)據(jù)最終是否送達(dá)對(duì)方岗仑。

確保數(shù)據(jù)能到達(dá)目標(biāo)

為了準(zhǔn)確無(wú)誤地將數(shù)據(jù)送達(dá)目的處匹耕,TCP協(xié)議采用了三次握手(three-way handshaking)策略。用TCP協(xié)議把數(shù)據(jù)包送出去之后荠雕,TCP不會(huì)對(duì)傳送后的情況置之不理稳其,它一定會(huì)向?qū)Ψ酱_認(rèn)是否成功送達(dá)。握手過(guò)程使用了TCP的標(biāo)志(flag) --SYN(synchronize)和ACK(acknowledgement)炸卑。
發(fā)送端首先發(fā)送一個(gè)帶SYN標(biāo)志的數(shù)據(jù)包給對(duì)方既鞠。接收端收到后,回傳一個(gè)帶SYN/ACK標(biāo)志的數(shù)據(jù)包表示傳達(dá)確認(rèn)信息盖文。最后發(fā)送端再回傳一個(gè)帶ACK標(biāo)志的數(shù)據(jù)包嘱蛋,代表握手結(jié)束。

若在握手過(guò)程中某個(gè)階段莫名中斷,TCP協(xié)議會(huì)再次以相同的順序發(fā)送相同的數(shù)據(jù)包洒敏。除了上述三次握手龄恋,TCP協(xié)議還有其他各種手段來(lái)保證通信的可靠性。

1.2 負(fù)責(zé)域名解析的DNS服務(wù)

DNS(Domain Name System)服務(wù)是和http協(xié)議一樣位于應(yīng)用層的協(xié)議凶伙。它提供域名到IP地址之間的解析服務(wù)郭毕。

計(jì)算機(jī)既可以被賦予IP地址,也可以被賦予主機(jī)名和域名函荣。比如www.issimon.me显押。
用戶通常使用主機(jī)名或域名來(lái)訪問(wèn)對(duì)方的計(jì)算機(jī),而不是直接通過(guò)IP地址的訪問(wèn)傻挂。因?yàn)榕cIP地址的一組純數(shù)字相比乘碑,用字母配合數(shù)字的表示形式來(lái)制定計(jì)算機(jī)名更符合人類的記憶習(xí)慣。
但是讓計(jì)算機(jī)去理解名稱金拒,相對(duì)而言就變得更困難了蝉仇。因?yàn)橛?jì)算機(jī)更擅長(zhǎng)處理一長(zhǎng)串?dāng)?shù)字。
為了解決上述問(wèn)題殖蚕,DNS服務(wù)應(yīng)運(yùn)而生轿衔,DNS協(xié)議提供通過(guò)域名查找IP地址,或逆向從IP地址反查域名的服務(wù)睦疫。

1.3 各種協(xié)議與HTTP協(xié)議的關(guān)系

1.4 URI和URL

與URI(Uniform Resource Identifier害驹,統(tǒng)一資源標(biāo)識(shí)符)相比,我們跟熟悉URL(Uniform Resource Locator蛤育,統(tǒng)一資源定位符)宛官。URL正是使用Web瀏覽器等訪問(wèn)Web頁(yè)面時(shí)需要輸入的網(wǎng)頁(yè)地址。比如瓦糕,下圖的https://issimon.me

1.4.1 Uniform Resource Identifier

Uniform

規(guī)定統(tǒng)一的格式可方便處理多種不同類型的資源底洗,而不用根據(jù)上下文環(huán)境來(lái)識(shí)別資源制定的訪問(wèn)方式。另外咕娄,加入新增的協(xié)議方案也更容易(http或ftp)

Resource

資源的定義是“可標(biāo)識(shí)的任何東西”/不僅是文檔文件亥揖,圖像或服務(wù)等能夠區(qū)別于其他類型的,全都可作為資源圣勒,另外费变,資源不僅可以是單一的,也可以是多數(shù)的集合體圣贸。

Identifier

表示可標(biāo)示的對(duì)象挚歧,也稱為標(biāo)識(shí)符。
綜上吁峻,URI就是由某個(gè)協(xié)議方案標(biāo)示的資源定位標(biāo)識(shí)符滑负。協(xié)議方案是指訪問(wèn)資源所使用的協(xié)議類型名稱在张。
采用HTTP協(xié)議時(shí),協(xié)議方案就是http矮慕,除此之外瞧掺,還有ftp,mailto凡傅,telnet,file等肠缔。標(biāo)準(zhǔn)的URI協(xié)議方案由30種左右夏跷,由隸屬于國(guó)際互聯(lián)網(wǎng)資源管理的非盈利社團(tuán)ICANN(Internet Corporation for Assigned Names and Numbers Authority,互聯(lián)網(wǎng)號(hào)碼分配局)管理頒布明未。

未完待續(xù)…

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末槽华,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子趟妥,更是在濱河造成了極大的恐慌猫态,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件披摄,死亡現(xiàn)場(chǎng)離奇詭異亲雪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)疚膊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)义辕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人寓盗,你說(shuō)我怎么就攤上這事灌砖。” “怎么了傀蚌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵基显,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我善炫,道長(zhǎng)撩幽,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任箩艺,我火速辦了婚禮摸航,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舅桩。我一直安慰自己酱虎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布擂涛。 她就那樣靜靜地躺著读串,像睡著了一般聊记。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恢暖,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天排监,我揣著相機(jī)與錄音,去河邊找鬼杰捂。 笑死舆床,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嫁佳。 我是一名探鬼主播挨队,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蒿往!你這毒婦竟也來(lái)了盛垦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瓤漏,失蹤者是張志新(化名)和其女友劉穎腾夯,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蔬充,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝶俱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饥漫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跷乐。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖趾浅,靈堂內(nèi)的尸體忽然破棺而出愕提,到底是詐尸還是另有隱情,我是刑警寧澤皿哨,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布浅侨,位于F島的核電站,受9級(jí)特大地震影響证膨,放射性物質(zhì)發(fā)生泄漏如输。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一央勒、第九天 我趴在偏房一處隱蔽的房頂上張望不见。 院中可真熱鬧,春花似錦崔步、人聲如沸稳吮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)灶似。三九已至列林,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酪惭,已是汗流浹背希痴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留春感,地道東北人砌创。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鲫懒,于是被迫代替她去往敵國(guó)和親嫩实。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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