TCP提供了「a reliable pipe」(一個堅固的水管)鏈接用戶和服務器,確保了數據能準確不出意外地傳輸,因此Application Layer(應用層)能夠不考慮底層技術細節,轉而去實現一些具體的應用功能。瀏覽器
Application Layer有兩個基本問題:緩存
首先是應用如何獲得數據,答案是Ports(端口)服務器
其次是應用遵循怎樣的規則運轉,答案是Protocols(協議)網絡
Ports(端口)跟在IP地址後面,端口號定位到某個IP上的某個具體的Application,不一樣的端口號對應不一樣的服務。咱們經過IP地址定位主機,經過端口號定位某個應用。架構
上圖是一些常見的TCP POST。app
HTTP(Hypertext Transport Protocol,超文本傳輸協議)是目前因特網上最主要的應用層協議,是應用層的一個經典表明。
spa
HTTP裏規定了URL(統一資源定位符)的具體工做規則——HTTP request response cycle。3d
HTTP request response cycle的工做方式其實也很簡單,主要分四步:對象
首先是用戶用鼠標點擊URL連接(click)blog
用戶點擊後瀏覽器就會用HTTP向服務器提出請求(HTTP request)
服務器一樣用HTTP響應用戶的請求(HTTP response)
收到服務器響應後,瀏覽器開始接收HTML文本並顯示網頁(display)
Internet Standards(因特網標準)是互聯網技術的規範性標準,由IETF(Internet Engineering Task Force,互聯網工程任務組)制定。若是你是個互聯網專家或者要作瀏覽器方向,那你首先就要看它。
Van對互聯網將來的發展有一個設想——Content Centered Networking(之內容爲中心的網絡)
內容中心網絡,也稱爲信息中心網絡(inforation centric networking,ICN)或數據命名網絡(named data networking ,NDN),都是將信息對象做爲構建網絡的基礎,分離信息的位置信息與內容識別,經過內容名字而不是主機IP地址獲取數據。利用網絡內置緩存提升傳輸效率,而不關心數據存儲位置。經過發佈/訂閱模式請求數據,使供給者和消費者在空間、時間上解耦合。這種新的網絡架構專一於信息對象、信息屬性和用戶興趣,採用「信息共享通訊模型」,從而實現高效、可靠的信息分發。