應用層位于網絡結構的頂層。顧名思義,應用層直接服務于各類網絡應用,負責在安裝了不同客戶端的應用之間傳遞信息。例如,用戶通過瀏覽器向網絡服務器發送請求,或者用戶通過微信發送文字、圖片或視頻給朋友。在此類場景中,無論瀏覽器還是微信,都作為發送端應用直接服務于用戶。數據通過應用層協議由發送端應用傳遞到接收端應用,并最終顯示給用戶。
在用戶和應用的視界中,傳輸層及其他底層提供的是黑盒功能,應用層無須關心其內部實現,如下圖所示。
應用層常用的協議如表所示。
其中,流媒體領域最常用的協議是HTTP。目前業界應用較為廣泛的HTTP-FLV、HLS 和DASH 等協議均以HTTP 為基礎。除此之外,其他常用的流媒體協議如RTMP、RTSP 等也屬于應用層協議的重要組成部分。
除HTTP 外,DNS(域名解析服務)在網絡中同樣無處不在。域名解析的作用是,當客戶端通過某個域名訪問網絡中某個資源或服務時,通過DNS 可以將請求的域名轉換為指定的服務器地址,通過該地址即可訪問指定的服務器。
內容摘自《FFmpeg音視頻開發基礎與實戰》