1、出道前的那段時期
1989年,那個時候,我們普通人還沒怎樣接觸過電腦,還不能淘寶(由于那會馬云還在杭州教書。。),也不能QQ聊天(馬化騰98年才創(chuàng)建騰訊),遇到問題了也不可以百度(李彥宏還在北京大學(xué)讀書)。那會,互聯(lián)網(wǎng)屬于很少的1部份人。
1990年11月,世界上第1臺Web服務(wù)器和Web閱讀器誕生在CERN(歐洲核子研究組織。。額這個名稱確切比較難理解。。核子%>_<%)手上。但是,那會上網(wǎng)也不是通過HTTP的。但是那1年開始,HTTP家族誕生在這個世界上,開始努力,發(fā)誓要占據(jù)全部世界的網(wǎng)絡(luò)。
2、HTTP家族
1990年這個時候,HTTP的哥哥HTTP0.9出道,但是沒能紅起來,并沒有被作為標(biāo)準(zhǔn)投入使用。
直到1996年5月,HTTP(1.0)正式出道,并且1炮而紅,至今還被廣泛使用當(dāng)中。
1997年1月公布的HTTP(1.1),由于繼承了HTTP絕大部份優(yōu)點,修補了其中不足而成為目前主流的HTTP協(xié)議版本。由于沒有太大的問題,所以它的版本多年來幾近沒有更新。
但是目前HTTP媽媽還是懷孕了,HTTP 2.0正在懷胎10月(制定中)。
3、必備的網(wǎng)絡(luò)基礎(chǔ)TCP/IP
要理解HTTP通訊,乃至是網(wǎng)絡(luò)。所必須知道的1點基礎(chǔ)就是TCP/IP。
3.0 IP地址
就猶如每一個人都有1個唯一無2的身份證1樣,接入互聯(lián)網(wǎng)的計算機都有1個唯1標(biāo)示自己的東東,這就是IP地址,InternetProtocol Address 符合網(wǎng)絡(luò)協(xié)議的地址。
IP地址目前分為兩種 IPV4 和 IPV6。
IPV4是 InternetProtocol Version4 互聯(lián)網(wǎng)協(xié)議的第4版本,采取32位2進制來表示1個地址。由于2的32次方是4294967296,最多可以表示42億臺計算機,但是,地球人口已超過60億。因此,42億是行將不夠用的,所以出現(xiàn)了IPV6。為何不是IPV5呢,由于IPV5已用于1個網(wǎng)絡(luò)流的測試協(xié)議了,所以就輪到了IPV6。 IPV6是16個字節(jié),長度多達128位。
3.1 協(xié)議
所謂協(xié)議就是規(guī)矩、規(guī)則。無規(guī)矩不成方圓。你和我通過1臺計算機進行聊天,我們的計算機軟件得先商量好由哪1方發(fā)起通訊,使用哪一種語言(不能你說日語我說國語吧),怎樣結(jié)束通訊等等。這些都得事前制定好,成為文檔,然后我們就依照文檔來。
這類規(guī)則文檔,我們就叫協(xié)議。
3.2 TCP/IP協(xié)議族
你可以想象,現(xiàn)在我們通過網(wǎng)絡(luò)可以做甚么事情?僅僅是用閱讀器上網(wǎng)么?不是的。我們可以通過QQ、旺旺聊天,可以通過飛鴿傳書在同1個局域網(wǎng)內(nèi)傳文件,我們輸入1個網(wǎng)址域名而不是IP地址就能夠訪問到那個網(wǎng)頁了。
而這些事情,都是用不同的協(xié)議的。所以網(wǎng)絡(luò)協(xié)議有很多很多。舉例以下圖:
這些跟互聯(lián)網(wǎng)相干的協(xié)議集合,總該有個名字,因而他們就被先人命名為 TCP/IP協(xié)議族。
為何是TCP/IP協(xié)議族,而不是 其他名字協(xié)議族,TCP/IP,前者TCP指的是TCP協(xié)議,后者IP指的是IP協(xié)議,之所以用他們命名,我認為是當(dāng)時 TCP 和 IP協(xié)議出現(xiàn)較早,當(dāng)時的IT工程師用他們兩個實現(xiàn)了網(wǎng)絡(luò)通訊,長此以往,即便后來出現(xiàn)了與TCP并列在網(wǎng)絡(luò)層的UDP協(xié)議,還有其他協(xié)議也好,人們已習(xí)慣了TCP/IP的稱呼,干脆就把TCP/IP統(tǒng)稱為所有網(wǎng)絡(luò)協(xié)議的總稱好了。
3.3 TCP/IP 分層
有人可能會想,哎那末麻煩做甚么,干嗎不把所有協(xié)議都統(tǒng)1起來,整合成1個協(xié)議呢?
試想一想,如果真的整合成只有1個協(xié)議,這個協(xié)議好強大, 可以完成很多事情,但是,當(dāng)我某個地方不太公道需要修改的時候,那末這個協(xié)議其他部份也得隨著改動了。牽1發(fā)而動全身!!
很麻煩。
所以,我們這么細分,是由于真的需要分層。
當(dāng)我們把網(wǎng)絡(luò)通訊之間的工作細分為1層層的時候,你會發(fā)現(xiàn),即便我要修改,我只需要修改1層就行了,只要層與層之間的接口方法不變。那末其他層協(xié)議是不受影響的。現(xiàn)在我們所需要做的工作就是把層分好,并且把各層之間的接口部份計劃好。
分層的好處―― 設(shè)計變得相對簡單,協(xié)議相互之間的牽連少了,開發(fā)更自由。
層名 |
作用 |
羅列協(xié)議 |
利用層 |
決定了向用戶提供利用服務(wù)時通訊的活動 |
FTP,DNS,HTTP |
傳輸層 |
上層是利用層,顧名思義,用來傳輸兩臺計算機之間的數(shù)據(jù) |
TCP,UDP |
網(wǎng)絡(luò)層 |
從1臺計算機到另外一臺計算機,傳輸線路可能有很多種,網(wǎng)絡(luò)層就是用來選路的。 |
IP |
鏈路層 |
以上層都不觸及到硬件,硬件部份交由鏈路層來處理。包括計算機操作系統(tǒng)和硬件的驅(qū)動,網(wǎng)卡,光纖,和網(wǎng)線等等。 |
|
4、甚么是HTTP ?
HTTP 是 網(wǎng)絡(luò)上進行通訊時所使用的協(xié)議方案。可以用于很多利用上面,但是最著名和最廣泛地應(yīng)當(dāng)是用在 web閱讀器 和 Web服務(wù)器之間的雙工通訊。
以上解釋還是比較專業(yè)的,下面依照我的理解來講下:
現(xiàn)在,小白想把1個包裹寄給小敏,怎樣辦呢?嗯,小白會先打電話讓EMS的人來取件,寫好要發(fā)給誰誰,并且要求有簽收短信,然后EMD快遞員取完后經(jīng)過打包包裝好,開始上路運輸,途中經(jīng)過很多省市,層層郵局或中轉(zhuǎn)站,最后終究到達小敏家門口,然后敲門,確認是小敏,簽收,然后快遞公司EMS就會給小白發(fā)1條回復(fù)短信:您的快件已被小敏簽收。
一樣的,在計算機的世界中,兩臺計算機要交換東西,也要經(jīng)歷類似的進程。有兩個概念要明白下。我們普通用戶的電腦,可以稱作“客戶端”,1些公司的特殊電腦(比1般電腦昂貴,性能好很多)稱作“服務(wù)器”。服務(wù)器好比小敏,我們的電腦(客戶端)好比小白。現(xiàn)在我們要上網(wǎng),訪問某個網(wǎng)頁。如“http://tech.uc.cn/index.jsp”,操作上我們只需要把這個網(wǎng)址往閱讀器上1輸入就能夠了。實際上,客戶真?zhèn)€閱讀器進程會先把訪問報文包裝成1個要求,然后通過1個套接字接口(Socket)傳輸?shù)接布W(wǎng)絡(luò)(如網(wǎng)線,光纖電纜),然后到達服務(wù)器的套接字接口(好比小敏家的門口),然后服務(wù)器的進程就會收到該要求,進行處理,把處理結(jié)果一樣的原路返回到客戶端,我們的電腦上。因而,我們此時此刻就看到訪問的網(wǎng)頁被加載成功,所加載的網(wǎng)頁內(nèi)容就是服務(wù)器所返回的東西。
說了這么多,其實就是兩臺機子之間通過網(wǎng)絡(luò)傳遞信息嘛,哪有HTTP身影?
是的,且聽我娓娓道來。
這傳遞信息的進程很簡單,但是如何構(gòu)造這些報文呢?這報文的各個字段表示甚么意思呢?如果服務(wù)器出故障了,應(yīng)當(dāng)給客戶端返回甚么信息好?等等很多細節(jié)問題都得逐一想清楚。發(fā)個快遞都必須經(jīng)歷1定的順序章程,如必須寫地址,貴重物品要不要保價等等。
嗯,我們逐步明白,國有國法家有家規(guī),網(wǎng)絡(luò)通訊必須有個協(xié)議來規(guī)定好這些通訊的細節(jié),這就是利用層協(xié)議。利用層協(xié)議它會規(guī)定好:
嗯,主角粉墨登場啦O(∩_∩)O~。其中利用最為廣泛的就是HTTP協(xié)議(利用層協(xié)議包括HTTP,但是還有其他協(xié)議,如FTP,SMTP。)
HTTP協(xié)議標(biāo)準(zhǔn)是公布于世界的,只要客戶端閱讀器程序符合HTTP,它就可以訪問所有符合HTTP協(xié)議的服務(wù)器。
1句話概括HTTP:它定義了兩臺計算機程序網(wǎng)絡(luò)通訊的進程,1個客戶端程序和1個服務(wù)器程序,分別運行在不同的計算機上,通過交換HTTP報文進行會話。
5、HTTP的合伙兄弟
通過第3點的TCP/IP基礎(chǔ),你可能已知道了,網(wǎng)絡(luò)通訊這件大事,單靠HTTP1個人是干不成的。明代朱元璋起義時好歹都請來劉伯溫當(dāng)軍師呢,還少不了其他1幫如常遇春等兄弟幫他打天下呢。
要完成網(wǎng)絡(luò)通訊,必備TCP/IP4層協(xié)議不可。HTTP只不過是利用層的而已,還差3個下面層的兄弟呢。因而乎,他找來了幾個兄弟幫他忙。下面逐1介紹。
5.1 IP地址最好的代言人 ―― DNS 協(xié)議
當(dāng)你公司推出新產(chǎn)品,如果找個明星拍廣告,1定會讓你的產(chǎn)品深入人心。比如提起霸王洗發(fā)水,我就想起了――“哦,成龍那個百年潤發(fā)”。這里,你想一想,為何你輸入1個網(wǎng)址就能夠訪問到1個網(wǎng)站呢?要知道,之前說過,每臺計算機只有1個IP地址作為它在互聯(lián)網(wǎng)中的標(biāo)識名字。如http://121.14.161.102:80 ,你輸入這個網(wǎng)址跟輸入 http://www.uc.cn/ 是1樣結(jié)果的,都是UC的官網(wǎng),那末哪一個好記1些呢?毫無疑問,后者。誰愿意去記住4個數(shù)字啊!
更好的比喻就是,我的名字是林小明,身份證是12345678900xxxx..,那末你愿意記住我的身份證號碼還是記住我的名字呢?都是代表著我。
當(dāng)客戶端想要訪問1個Web端服務(wù)器時,需要知道服務(wù)器的域名。域名就是服務(wù)器的地址。為了讓大家更容易記住服務(wù)器的地址,人們想出了1個系統(tǒng)用來轉(zhuǎn)換域名與IP地址之間的轉(zhuǎn)換。
這樣,人們就只需要記住網(wǎng)站名字就能夠了。DNS,Domain Name System 域名系統(tǒng)的簡稱。
5.2 名兒最猛的兄弟――IP協(xié)議
首先說清楚的是,IP地址是IP地址,是由4個數(shù)字和3個點組成,是1臺計算機接入互聯(lián)網(wǎng)時的地址,當(dāng)你的電腦沒聯(lián)網(wǎng)時,它是沒有IP地址的。
而IP協(xié)議是1種協(xié)議,Internet Protocol ,網(wǎng)際協(xié)議,只不過用 Internet 來命名而已。你可能覺得這協(xié)議也太猛了吧,竟然用Internet 這詞,豈不是全部Internet都必須用它咯。
噢,還別說,它敢這么取名就是由于幾近所有使用網(wǎng)絡(luò)的系統(tǒng)都必須用到它,IP協(xié)議!!
TCP/IP協(xié)議族里后者的IP就是指 IP協(xié)議。以他的名字構(gòu)成總稱的1半,它真的很重要!
IP協(xié)議的作用就是把來自網(wǎng)絡(luò)的數(shù)據(jù)包傳遞給對方(固然,中間需要經(jīng)過鏈路層,他們需要幫忙)。
5.3 最可靠的兄弟 ――TCP協(xié)議
在傳輸層,由于數(shù)據(jù)可能比較大, 因此必須分割成1個個小的數(shù)據(jù)包進行管理,這個管理服務(wù),這就是字節(jié)流服務(wù)。
TCP協(xié)議就是1種提供可靠字節(jié)流服務(wù)的協(xié)議,注意1點。可靠!!
TCP這個兄弟很靠譜,對HTTP兄弟拜托下來的東東他每次都會拍胸口保證,“放心東西我1定幫你送到!”
然后,他真的會通過各種手段,如過失控制、堵塞管理等手段想法想法來讓數(shù)據(jù)安全抵達目的地。
下一篇 yum使用總結(jié)-卸載篇