網(wǎng)絡(luò)及Web學(xué)習(xí)筆記
IT人一提到說到網(wǎng)絡(luò),必定且首先就要提到的就是TCP/IP協(xié)議了。這是基本的網(wǎng)絡(luò)通信層的協(xié)議。而這個(gè)協(xié)議,是網(wǎng)路平臺(tái)七層網(wǎng)絡(luò)協(xié)議中的一個(gè)點(diǎn)。網(wǎng)路協(xié)議定義了從用戶數(shù)據(jù)和請(qǐng)求的處理打包/解包的TCP,UDP協(xié)議,到分包發(fā)送數(shù)據(jù)的IP協(xié)議,再到物理層的實(shí)現(xiàn)。一大堆的概念,一本本大磚頭般的書,就是學(xué)這方面的人都受不了,更不用說只是想了解下網(wǎng)絡(luò)過程的一般用戶了。而更為人熟知的,該是伯納斯李及其萬維網(wǎng)了。萬維網(wǎng)乃是現(xiàn)在***的網(wǎng)絡(luò)了,而一開始,網(wǎng)絡(luò)是一點(diǎn)點(diǎn)連接起來的。
那么網(wǎng)絡(luò)到底是什么呢?計(jì)算機(jī)剛興起時(shí),其主要工作就是用來做大規(guī)模計(jì)算的。其服務(wù)方式也是由大型服務(wù)機(jī)To客戶機(jī)的形式??蛻舳诉M(jìn)行數(shù)據(jù)請(qǐng)求,服務(wù)機(jī)響應(yīng)處理然后再由客戶機(jī)顯示結(jié)果。后來,才有了機(jī)器與機(jī)器之間需要數(shù)據(jù)共享的問題。如果就那么幾臺(tái)機(jī)器,那么拷貝一份數(shù)據(jù)也沒什么。但是當(dāng)一個(gè)集群的機(jī)器需要共享數(shù)據(jù),特別是涉及到實(shí)時(shí)數(shù)據(jù)時(shí),顯然,用拷貝的方式不能滿足需求了。所以才有了計(jì)算機(jī)之間的通信。
而在一開始,不同硬件廠商——IBM, HP, SUN都定義了自己的通信協(xié)議和實(shí)現(xiàn)。同一個(gè)硬件廠商的硬件通信沒問題,但是不同廠商的硬件卻不能通信。所以才有了后來的標(biāo)準(zhǔn)化的通信協(xié)議。而萬維網(wǎng)的興起是在個(gè)人計(jì)算機(jī)興起后,伯納斯李的創(chuàng)造性發(fā)明。由此,計(jì)算機(jī)不再是一個(gè)個(gè)單獨(dú)的存在,而是通過網(wǎng)絡(luò)互通互聯(lián)在一起的一個(gè)網(wǎng)絡(luò)了。
***接觸到通信協(xié)議這種東西,往往茫然不知其所謂。記得我***次了解到這些協(xié)議的時(shí)候就總是想不通,通過這些協(xié)議性的規(guī)定就可以實(shí)現(xiàn)數(shù)據(jù)的傳輸了嗎?這是莫名其妙。后來才理解了,傳輸數(shù)據(jù)是由物理層的介質(zhì)——光纖、無線網(wǎng)絡(luò)——來實(shí)現(xiàn)的。而協(xié)議是通信雙方約定好的,數(shù)據(jù)傳輸?shù)母袷?。以約定好的格式來傳輸,雙方都方便。數(shù)據(jù)發(fā)送方按照協(xié)議規(guī)定格式進(jìn)行數(shù)據(jù)打包然后發(fā)送,而接收方就可以按照這個(gè)格式進(jìn)行快速解包了?;蛘?,可以這么去理解,協(xié)議就是一個(gè)雙方都知道的其格式的空表格,發(fā)送方往表格空白處填充數(shù)據(jù),而接收方,從表格中取出數(shù)據(jù)。由于雙方都知道表格的格式,所以,要發(fā)什么數(shù)據(jù),要取什么數(shù)據(jù),直接去找所需的欄目就可以了。
現(xiàn)在的網(wǎng)絡(luò),是一個(gè)去中心化的網(wǎng)絡(luò)。網(wǎng)絡(luò)中的一個(gè)個(gè)節(jié)點(diǎn)通過IP地址定位。主要通信則發(fā)生在服務(wù)器與普通網(wǎng)絡(luò)入口(pc機(jī),手機(jī))之間。所謂網(wǎng)絡(luò)應(yīng)用程序就是客戶端(Client)軟件與服務(wù)器端(Server)的通信了。這就是所謂的CS架構(gòu)模型。而當(dāng)下大熱的Web,提倡用瀏覽器(Browser)代替客戶端(Client)的新模型——BS架構(gòu)模型。其中,最主要的通信就是瀏覽器與服務(wù)器程序的通信。也就是HTTP通信協(xié)議。這些整個(gè)過程中,HTTP協(xié)議負(fù)責(zé)對(duì)請(qǐng)求和響應(yīng)的打包與解包。TCP協(xié)議負(fù)責(zé)的是機(jī)器與機(jī)器之間的通信連接,即用戶端機(jī)器與服務(wù)器端機(jī)器的連接。而IP協(xié)議負(fù)責(zé)了用戶機(jī)器與客戶端機(jī)器見通信路徑的選擇,數(shù)據(jù)的分包發(fā)送等。TCP協(xié)議是建立在IP協(xié)議的基礎(chǔ)上的。