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