第 6 章 网络应用技术¶
大纲定位:张海霞主编《计算机网络技术》(机械工业出版社,2016 年版),课程代码 02141 配套自学考试大纲。按该版知识范围复习,不代表现行考试公告或当前产品指南;讲解、算例与练习由项目独立编写。
复习导航¶
| 大纲条目索引 | 层次 | 讲解 | 自编练习 |
|---|---|---|---|
| 1 网络应用的含义和模式 | 识记 | 第 1 节 | 1 |
| 2 域名解析系统DNS | 领会 | 第 2 节 | 2 |
| 3 文件传输协议(FTP) | 领会 | 第 3 节 | 3 |
| 4 电子邮件E-mail | 领会 | 第 4 节 | 4 |
| 5 WWW应用 | 综合应用 | 第 5 节、第 6 节、第 7 节 | 5、6、7 |
| 6 电子商务应用基本知识 | 识记 | 第 8 节 | 8 |
1 应用进程与服务模式¶
网络应用由参与通信的软件及其约定构成。客户机/服务器模式中,客户主动提出请求,服务器等待并提供服务;“客户”和“服务器”首先描述进程角色,不是按计算机大小分级。B/S 用浏览器作为客户端,仍可按 C/S 关系分析。
P2P 模式的参与者可以既请求也提供服务,同一节点在不同交互中承担不同角色。按本书观点,它仍包含具体请求方与提供方,只是不把所有节点固定分成两组。分析一个应用时先画出谁向谁请求什么,不要见到两台机器地位相近便断定没有服务关系。
2 DNS 层次、区域与解析¶
DNS 把域名与有关地址信息对应起来。域名空间按层次组织,名称从较具体的标签延伸到较上层的域;服务器按“区”承担管理责任,区与域不能简单画等号。根、顶级和权限域名服务器承担不同层次的定位与回答,本地服务器负责接收主机的查询并组织后续解析。
递归查询要求受询者继续取得结果再答复;迭代查询允许给出下一步应询问的服务器。按本书典型流程,主机递归请求本地服务器,本地服务器再逐步向根、顶级、权限服务器迭代询问,取得结果后返回主机。根服务器不是保存所有主机记录的“大通讯录”。
自编跟踪:学生查询 notes.lab.example,假定本地无缓存且各级按层转介。本地先取得下一层位置,再逐层到权限服务器取记录;后续查询可能由缓存回答,不能断言每次都重复整条路径。DNS 完成名字解析,并不负责下载网页文件;解析成功也不代表目标应用必然可访问。
3 FTP 的控制与数据连接¶
FTP 提供远程文件访问和传送,使用 TCP 的可靠传输能力,并把控制与文件数据分开。教材基本过程先由服务器等待连接,客户发起会话,经认证和命令确定操作,再由数据连接传送文件。
控制连接承载命令和响应,在会话中保持;数据连接用于实际文件传输,完成后可关闭。控制使用教材中的熟知端口 21,但不能把教材某一数据连接示例中的端口与建立方向当成所有 FTP 环境的唯一方式。判断故障时,“可以登录和发命令”只说明控制路径有进展,文件数据路径仍需单独核对。服务器可同时处理多个客户,会话与进程并发不等于所有客户共用一条文件数据流。
4 电子邮件的发送与读取¶
邮件系统包含用户代理、邮件服务器和发送/读取协议。用户代理负责编辑、呈现和管理邮件,邮件服务器保存和转交邮件。地址通常写为邮箱名@域名;邮件内容由首部与主体组成,主题、收件人、抄送等属于邮件语义,不要与 TCP 或 IP 首部混淆。
SMTP 用于发送邮件,包含连接、传送和释放的基本过程。发信服务器向收信服务器传送时,前者是该交互的客户,后者是服务器;同一主机在不同交互中可以转换角色。POP3 和 IMAP 用于读取邮件,IMAP 可在服务器侧管理邮件,不能把二者当成 SMTP 的两个发送命令。
浏览器邮箱只是把用户界面放到 Web 上,并不说明服务器间邮件传递也改由网页下载完成。本书对早期 SMTP 的功能和安全限制作了说明;本节只用于辨别协议职责,不将这些描述概括为所有现行邮件服务的配置。
5 WWW、URL 与 HTTP 交互¶
WWW 由分散的资源、超链接、浏览器和服务器共同组织。URL 指出资源的访问方式、主机及路径等位置要素;域名解析只解决找地址,HTTP 则描述请求与响应。以本书基于 TCP 的 HTTP 模型为范围:解析名称、建立连接、请求资源、接收响应、呈现内容。
请求报文从请求行开始,包含方法、资源标识与版本,后面是首部、空行和可选实体;响应从状态行开始,包含版本、状态码与说明,再跟首部、空行和可选实体。空行是结构分界,不能把正文第一行当成首部。
自编请求片段(换行按协议报文的行结束规则理解):
GET /notes/start.html HTTP/1.1
Host: notes.lab.example
HTTP 无状态指交互本身不自动保留用户业务状态,不是说底层 TCP 没有连接。非持续连接与持续连接描述 TCP 连接是否复用;不能把“每个请求都新建 TCP”当成 HTTP 的永恒规则。正文含图片等其他资源时,浏览器还可能需要发起更多资源请求,不能把一个网页概括成一个文件或一个数据包。
6 Cookie 与 Session 的状态位置¶
Cookie 机制让服务器通过响应的 Set-Cookie 首部向浏览器设置有关数据,浏览器在符合相应范围的后续请求中携带,服务器借此关联访问。Session 把主要会话状态保存在服务器侧,再用会话标识关联不同请求;标识也可以借助 Cookie 传递。二者可以配合,并不是只能二选一。
自编购物车:服务器记录“会话甲有资料包 A、B”,浏览器只持有会话甲的标识。再次请求时,服务器凭标识找记录。删除浏览器标识与删除服务器记录是不同动作,分析故障时分别查客户端携带了什么、服务器保存了什么。
Cookie 内容不因为名称或看似乱码就自动获得加密。状态关联也不自动证明使用者身份可信,标识泄露可能带来风险;不要把密码明文保存作为本节演示。
7 用 HTML 组织一个资料页¶
HTML 用标记说明文档结构:head 放置文档相关信息,title 指定标题,body 承载页面内容;标题、段落、链接和图像各有相应标记。网页源文本与浏览器呈现结果不是同一对象,HTTP 负责传送,HTML 负责描述内容结构。
下面是独立编写的结构练习,页面与资源名均为假设,目的在于读懂标签嵌套和属性,不是本站需要请求的真实路径。
<html>
<head><title>资料目录</title></head>
<body>
<h1>网络复习</h1>
<p>先阅读讲解,再核对自己的推导。</p>
<a href="chapter.html">打开章节</a>
<img src="topology.png" alt="本组设计的拓扑图">
</body>
</html>
链接的 href 指向目标,图像的 src 指向图像资源,不能用图像文件名替代链接文字。标题层次、正文段落与文件标题各有用途;排版看起来相似,不代表标记含义相同。
8 电子商务的业务与平台¶
电子商务把信息发布、选购、支付、交付和售后等商务环节与网络服务结合。按交易对象可辨 B2B、B2C、C2C;O2O 联系线上业务与线下服务。按内容还可分有形货物的间接交易与可在线交付内容的直接交易,不能只因通过网页支付就认为物流已经完成。
交易前有信息查询、比较与准备,交易中确认对象、数量及权利义务并形成订单,交易后处理交付跟踪、确认和售后。系统从网络平台、信息传输平台到商务平台与应用层层配合,数据库、安全和账户服务都可能参与;技术标准及规则也是业务运行条件,不能把商城网页当成整个商务系统。
自编练习¶
1. 同一台机器先向别人请求资料,再向其他节点提供已有资料。它是否只能固定叫客户机?浏览器作为界面又属于什么模式?
考点:第 1 节;层次:识记。
答案与解析
参考答案: 角色应按具体交互区分:请求时是客户,提供服务时是服务器;P2P 可同时具有两种能力。浏览器作为客户端与服务器交互属于 B/S,可按 C/S 的请求与响应关系理解。
2. 本地无缓存,查询 notes.lab.example,根服务器返回下一层位置。这个回答是否失败?请给出后续角色顺序,并区分递归与迭代。
考点:第 2 节;层次:领会。
答案与解析
参考答案: 给出下一层位置是迭代查询的正常转介,不等于失败。本地继续询问相应顶级、权限服务器,再把结果返回主机;递归强调代为取得最终结果,迭代可逐步返回下一查询位置,后续相同查询还可能命中缓存。
3. FTP 已能登录并接受传输命令,但文件未开始传送。为什么不能仅凭登录成功排除连接问题?
考点:第 3 节;层次:领会。
答案与解析
参考答案: FTP 把控制连接与数据连接分开,登录和命令主要走控制路径,实际文件走数据路径。控制正常不能证明数据连接已建立并可传输,应单独检查后者的建立条件与可达性。
4. 一封邮件从编辑到对方读取,分别何时涉及用户代理、SMTP、POP3 或 IMAP?发信服务器在向收信服务器交付时是什么角色?
考点:第 4 节;层次:领会。
答案与解析
参考答案: 编辑和阅读由用户代理提供界面,发送到服务器及服务器间交付使用 SMTP,收取或管理已到达邮箱的邮件用 POP3 或 IMAP 等读取机制。发信服务器在这次交付中主动请求,是 SMTP 客户,角色不由机器名称永久固定。
5. 浏览器取得正文后继续请求图片,记录中写着“HTTP 无状态,所以它只能把每张图片放进一条全新的 TCP 连接”。指出两个概念怎样分开。
考点:第 5 节;层次:综合应用。
答案与解析
参考答案: 无状态说的是请求交互不自动维持业务会话状态;持续连接说的是多个 HTTP 交互是否复用 TCP。二者不同。图片等独立资源可需要额外请求,但不能由无状态推出每次必新建连接。
6. 购物车内容在服务器,浏览器只保存会话标识。分别归到 Session 与 Cookie 的哪种职责?把标识编码得不易读能否自动保证保密?
考点:第 6 节;层次:综合应用。
答案与解析
参考答案: 服务器记录购物车是会话状态,Cookie 可以承担浏览器保存并带回标识的职责,二者可协作。难以直接阅读不等于加密或安全认证,标识泄露仍可能让其他人关联该会话。
7. 资料页需要标签栏标题“学习入口”、正文标题“网络实验”和一个到 next.html 的链接。给出相应 HTML,并解释它与 HTTP 的分工。
考点:第 5、7 节;层次:综合应用。
答案与解析
参考答案: 可在 head 内写 <title>学习入口</title>,body 内写 <h1>网络实验</h1> 和 <a href="next.html">下一节</a>。HTML 描述内容结构,HTTP 传送请求和响应;把链接写入文档不等于已向目标请求成功。
8. 书店在线接单后邮寄纸书,培训机构在线售卖到店服务。按交易内容与 O2O 思路各怎样分析?支付成功为何不能代替交付确认?
考点:第 8 节;层次:识记。
答案与解析
参考答案: 纸书仍需实体物流,属于有形货物的间接电子商务;线上购买、线下到店使用体现 O2O。交易包含准备、订购和后续交付及售后,支付只是其中环节,不能直接证明用户已取得商品或服务。