咱們絕大多數的Web應用都是基於HTTP來進行開發的。咱們對Web的操做都是經過HTTP協議來進行傳輸數據的。服務器
HTTP的誕生主要是爲了可以讓文檔之間相互關聯,造成超文本能夠互相傳閱網絡
能夠說,Http就是Web通訊的基礎,這是咱們必學的。計算機網絡
咱們學計算機網絡的時候就知道,咱們把計算機網絡分層了5層,通常咱們如今用的都是TCP/IP這麼一個分層結構。設計
雖然官方的是ISO 7層結構,可是僅僅是理論基礎,在實際上大多人都是使用TCP/IP的分層結構code
首先,咱們先得知道,爲何咱們要在計算機網絡中分層次???圖片
由於若是兩臺計算機可以相互通訊的話,實際實現起來是很是困難操做的...咱們分層的目的就是爲了將困難的問題簡單化,而且若是咱們分層了,咱們在使用的時候就可以僅僅關注咱們須要關注的層次,而不用理會其餘層。路由
若是須要改動設計的時候,咱們只須要把變更的層替換便可,並不用涉及到其餘的層次。這與咱們程序設計中的低耦合是一個概念。開發
咱們知道HTTP是在應用層中的,顯然,咱們在Web通訊的過程當中,不單單是須要HTTP協議的,還會涉及到其餘的協議的。文檔
DNS:負責解析域名域名
www.baidu.com
,而計算機通訊只認的是咱們的主機地址,所以,當咱們輸入域名的時候,須要DNS把域名解析成主機來進行訪問HTTP:產生請求報文數據
TCP:分割HTTP數據,保證數據運輸
IP:傳輸數據包,找到通訊目的地地址。
咱們網頁上請求數據就是上邊這麼一個流程。