应用层位于网络结构的顶层。顾名思义,应用层直接服务于各类网络应用,负责在安装了不同客户端的应用之间传递信息。例如,用户通过浏览器向网络服务器发送请求,或者用户通过微信发送文字、图片或视频给朋友。在此类场景中,无论浏览器还是微信,都作为发送端应用直接服务于用户。数据通过应用层协议由发送端应用传递到接收端应用,并最终显示给用户。
在用户和应用的视界中,传输层及其他底层提供的是黑盒功能,应用层无须关心其内部实现,如下图所示。
应用层常用的协议如表所示。
其中,流媒体领域最常用的协议是HTTP。目前业界应用较为广泛的HTTP-FLV、HLS 和DASH 等协议均以HTTP 为基础。除此之外,其他常用的流媒体协议如RTMP、RTSP 等也属于应用层协议的重要组成部分。
除HTTP 外,DNS(域名解析服务)在网络中同样无处不在。域名解析的作用是,当客户端通过某个域名访问网络中某个资源或服务时,通过DNS 可以将请求的域名转换为指定的服务器地址,通过该地址即可访问指定的服务器。
内容摘自《FFmpeg音视频开发基础与实战》