- Web頁面是如何呈現的?
根據Web瀏覽器地址欄中指定的URL,Web瀏覽器從Web服務器端獲取文件資源(resource)等信息,從而顯示出Web頁面。這種經過發送請求獲取服務器資源的Web瀏覽器等,均可稱爲客戶端(client)瀏覽器
Web使用一種名爲HTTP(hypertext transfer protocol,超文本傳輸協議)的協議做爲規範,完成從客戶端到服務器端等一系列運做流程。能夠說Web是創建在Http協議上通訊的。服務器
HTTP的誕生
HTTP有伯納斯-李(Tim Berners-Lee)博士提出的。爲的是能讓遠隔兩地的研究者們共享知識的設想。網絡
基本理念是:藉助多文檔之間相互關聯造成的超文本(HyperText),連成可相互參閱的WWW(World Wide Web,萬維網)。ide
3項WWW構建技術:HTML,HTTP,URL.post
網絡基礎TCP/IP
提出使用的網絡(包括互聯網)是在TCP/IP協議族的基礎上運做的。而HTTP屬於它內部的一個子集。操作系統
計算機與網絡設備要相互通訊,雙方就必須基於相同的方法,不一樣的硬件、操做系統之間的通訊,全部的這一切都須要一種規則。而咱們就把這種規則稱爲協議(protocol)。設計
把與互聯網相關聯的協議集合起來總稱爲TCP/IPblog
TCP/IP的分層管理
TCP/IP協議族按層次分別分爲如下4層:應用層、傳輸層、網絡層和數據鏈路層。接口
分層的好處,若是互聯網只由一個協議統籌,某個地方須要改變設計時,就必須把全部部分總體替換掉。而分紅以後只需把變更的層替換掉便可。three
各層的做用
- 應用層:應用層決定了向用戶提供應用服務時通訊的活動。如FTP(File Transfer Protocol,文件傳輸協議)和DNS(Domain Name System,域名系統)服務。HTTP協議也處於這一層
- 傳輸層:傳輸層對上層應用層,提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。有TCP(transmission control protocol,傳輸控制協議)和UDP(User Data Protocl,用戶數據報協議)。
- 網絡層(網絡互連層):用來處理在網絡上流動的數據包。規定哪條傳輸路線將數據包傳送到對方計算機。
- 鏈路層(數據鏈路層,網絡接口層):用來處理鏈接網絡的硬件部分。包括操做系統、硬件的設備驅動、NIC(NetWork Interface Card,網絡適配器,即網卡)等。
TCP/IP通訊傳輸流
利用TCP/IP協議族進行網絡通訊時,會經過分層順序與對方進行通訊。發送端從應用層往下走,接收端則從應用層往上走。
發送端在層與層之間傳輸數據時,沒經一層時一定會被打上一個該層所屬的首部信息,反之,接收端在層與層傳輸數據時,沒通過一層時會把對應的首部消去。
與HTTP關係密切的協議:IP、TCP和DNS
負責傳輸的IP協議
IP(Internet Protocol)網絡協議位於網絡層。IP協議的做用是把各類數據包傳送給對方。而要保證確實傳送到對方那裏,則須要知足各種條件。其中兩個重要的條件是IP地址和MAC地址(Media Access Control Address)。IP地址指明瞭節點被分配到的地址,MAC地址是指網卡所屬的固定地址。IP地址和MAC地址進行配對,IP地址可變換,但MAC地址基本不會更改。
使用ARP協議憑藉MAC地址進行通訊
IP間的通訊依賴MAC地址。網絡中,處於同一局域網內的狀況不多,一般是通過多臺計算機和網絡設備中轉才能鏈接到對方。中轉時,會利用下一站中轉設備的MAC地址來搜索下一個中轉目標。這時,會採用ARP協議(Address Resolution Protocol),ARP是一種用以解析地址的協議,根據通訊方的IP地址就能夠反查處對應的MAC地址。
路由選擇
在到達通訊目標前的中轉過程當中,那些計算機和路由器等網絡設備只能獲悉很粗略的傳輸路線。這種機制稱爲路由選擇(routing)。不管哪臺計算機,哪臺網絡設備,它們都沒法全面掌握互聯網中的細節。
確保可靠性的TCP協議
TCP處於傳輸層,提供可靠的字節流服務。
所謂的字節流服務(Byte Stream Service)是指,爲了方便傳輸,將大塊數據分割成以報文段(segment)爲單位的數據包進行管理。可靠性就是可以把數據準確可靠地傳給對方。(廢話。。)
三次握手(three-way handshaking)策略
三次握手是爲了準確無誤地將數據送達目標處。用TCP協議把數據包送出去後,還會向對方確認是否成功送達。握手過程當中使用了TCP的標誌(flag)—SYN(synchronize)和ACK(acknowledgement)
除了三次握手,TCP協議還有其餘各類手段來保證通訊的可靠性。
負責域名解析的DNS服務
DNS服務和HTTP協議同樣位於應用層。提供域名到IP地址之間的解析服務。DNS協議提供經過域名查找IP地址,或逆向從IP地址反查域名的服務。