计算机网络自顶向下方法 第二章 应用层
2.1 应用层协议原理
2.1. 1 网络应用程序体系结构
应用程序体系结构 (application architecture) 由应用程序研发者设计,规定了如何在各 端系统上组织该应用程序 在选择应用程序体系结构时,应用程序研发者很可能利用现代网络应用程序中所使用的两种主流体系结构之一 :客户-服务器体系结构或对等 (P2P 体系结构)
图 客户-服务器体系结构
图:P2P 体系结构
2. 1.2 进程通信
1 . 客户和服务器进程
在一对进程之间的通信会话场景中,发起通信(即在该会话开始时发起与其他进程的联系)的进程被标识为客户,在会话开始时等待联系的进程是服
务器。
2. 进程与计算机网络之问的接口
进程通过一
个称为
套接字 (sock-et)
的软件接口向网络
发送报文和从网络接收报文 。
3. 进程寻址
为了向特定目的地发送邮政邮件,目的地
需要有一个
地址
类似地,在
台主机上运
行的进程为了向在另
一台主
机上运行的进程发送分组,接收进程
需要有一个
地址
为了标
识该接收进程,
需要定义两种
信息:1.主
机的地址;
2.在目的主
机中指定接收进程的标识符。
2. 1.3 可供应用程序使用的运输服务
1. 可靠数据传输
为了支待某些应用,必须做些工作以确保由应用程序的 端发送的数据正确
完全地交付给该应用程序的另一端。如果一个协议提供了确保数据交付服务,就认为提供了可靠数据
传输
(reliable
data
transfer)
2. 吞吐量
3. 定时
4. 安全性
2.1.4 因特网提供的运输服务
1. TCP 服务
- 面向连接的服务:
- 可靠的数据传送服务
2. UDP 服务
2.2 Web和HTTP
2. 2. 1 HTTP 概况
Web
的应用层协议是超文本传输协议(
HyperText Transfer Protocol,
HTTP)
,
它是
Web
的核心,
定义
HTTP
由两个程序实现:
一个客
户程序和
一个
服务器程序
客户程序和服务器程序运行在不同的端系统中,通过交换
HTTP
报文进
行会话
HTTP
定义了这些报文的结构以及客户和服务器进行报文交换的方式。
Web 页面 (Web
page)
(也叫文档)是由对象组成的
一个
对象
只是一个文
件,诸如
一个
HTML
文件
、一个
JPEG
图形
一个
Java
小程序或
一个视频
片段这样的文件,且它们可通过
一个 U
RL
地址
寻址
多数
Web
页面含有一个
HTML
基本文件
(base
HTMLfile)
以及几个引用对象。
图 http的请求-相应行为
2.2.2 非持续连接和持续连接
图 请求并接收一个file的时间预估
2.2.3 用户与服务器的交互 cookie
我们前面提到了
HTTP
服务器是无状态的
这简化了服务器的设计,并且允许工程师们去开发可以同时处理数以千计的 TCP
连接的高性能
Web
服务器
然而
Web
站点通
常希望能够识别用户,可能是因为服务器希望限制用户的访问,或者因为它希望把内容与用户身份联系起来 为此,
HTTP
使用了
cookie。
图 用cookie 跟踪用户状态
2. 2. 4 Web 缓存
Web
缓存器
(Web
cach
也叫代理
服务器
(proxy
server) ,
它是能够代表初始
Web 服务器来满足
HTTP
请求的网络实体。Web缓存器有自己的磁盘存储空
间,并在存储空
间中保存最近请求过的对象的副本。