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