6.1 概述
应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。
应用层常见的应用:
6.2 DNS域名解析服务
域名系统DNS是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(例如(www.onepiece.com),转换为便于机器处理的IP地址。
-
因特网采用层次树状结构的域名结构
- ... . 三级域名 . 二级域名 . *域名
- *域名TLD (Top Level Domain)分为以下三类:
- 国家*域名nTLD
- 通用*域名gTLD:com、net、org、int、edu、gov、mil
- 反向域arpa:用于反向域名解析,即IP地址反向解析为域名
-
域名和IP地址的映射关系必须保存在域名服务器中,供所有其他应用查询。
-
显然不能将所有信息都储存在一台域名服务器中。 DNS使用分布在各地的域名服务器来实现域名到IP地址的转换。
-
域名服务器可以划分为以下四种不同的类型:
- 根域名服务器:全球13个根服务器
- *域名服务器
- 权限域名服务器
- 本地域名服务器
-
域名解析的过程使用两种域名查询方式:递归查询、迭代查询
-
为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器和主机中广泛地使用了高速缓存。
DNS报文使用运输层的UDP协议进行封装,运输层端口号为53。
6.3 WWW万维网
- 万维网WWW(Worid Wide Web)是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。
- 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
- 万维网以客户-服务器方式工作。
- 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
- 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
- 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。
- 浏览器最重要的部分是渲染引擎,也就是浏览器内核,负责对网页内容进行解析和显示。
万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置。
其一般形式为:<协议>://<主机>:<端口>/<路径>
万维网文档的组成:
-
超文本标记语言HTML
使用多种"标签”来描述网页的结构和内容。 (网页扩展名为.htm)
-
层叠样式表CSS
从审美角度来描述网页的样式。(文件扩展名为.css)
-
脚本语言JavaScript(与Java没有任何关系)
控制网页的行为。(文件扩展名为.js)
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
-
HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
-
HTTP/1.0采用非持续连接方式。 每次浏览器要请求一个文件都要与服务器建立TCP连接(80端口),当收到响应后就立即关闭连接。
-
HTTP/1.1采用持续连接方式。 万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。为了进一
- 步提高效率,还可采用流水线方式,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。
-
HTTP有两类报文:请求报文和响应报文。
- 报文中的每一个字段都是一些ASCII码串, 并且每个字段的长度都是不确定的。
HTTP请求报文格式
HTTP响应报文格式
-
Cookie提供了一种机制使得万维网服务器能够“记住”用户,而无需用户主动提供用户标识信息。也就是说,Cookie是一种对无状态的HTTP进行状态化的技术。
-
在万维网中还可以使用缓存机制以提高万维网的效率。万维网缓存又称为Web缓存,可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器。