文章目录
- 一、网络应用体系结构
- 2.1 客户机/服务器结构(Client-Server,C/S)
- 2.2 点对点结构(Peer-to-peer,P2P)
- 2.3 混合结构(Hybrid)
- 二、网路应用的进程通信
- 2.1 套接字Socket
- 2.2 应用层协议的内容
- 三、网络应用的需求与传输层服务
- 四、Web
- 4.1 HTTP
- 4.1.1 HTTP连接类型
- 4.1.1.1 非持久性连接 Nonpersistent HTTP
- 4.1.1.2 持久性连接 Persistent HTTP
一、网络应用体系结构
2.1 客户机/服务器结构(Client-Server,C/S)
服务器
- 7*24提供服务
- 永久性访问地址/域名
- 利用大量的服务器实现可扩展性
客户机
- 与服务器通信,使用服务器提供的服务
- 间隙性接入网络
- 可能使用动态IP地址
- 不会与其他客户机直接通信
2.2 点对点结构(Peer-to-peer,P2P)
-
没有永久的在线服务器
-
任意端系统/节点之间可以直接通信
-
节点间歇性接入网络
-
结点可能改变IP
-
优点:高度可伸缩
-
缺点:难以管理
2.3 混合结构(Hybrid)
将p2p 和 C/S 结构混合在一起的结构
利用两者的优点、规避两者的缺点
Napster
- 文件传输使用P2P结构
- 文件搜索使用C/S结构—集中式
- 每个节点想中央登记自己的内容
- 每个节点向中央查询请求,查找感兴趣的内容
二、网路应用的进程通信
进程:主机上运行的程序
2.1 套接字Socket
进程使用Socket发送接受消息
-
传输基础设施向进程提供API
- 传输协议的选择
- 参数的设置
-
不同主机上的进程通信,每个进程必须拥有标识符
-
标记寻址主机----IP地址
-
端口号 port number
-
每个需要通信的进程都需要分配一个端口号
- HTTP Server:80
- Mail Server: 25
进程的标识符 - IP + 端口
网络应用都应该遵循应用层协议
公开的协议 - 有RFC(Request For Comments)定义 TCP/IP的RFC
- 允许互操作
- HTTP、SMTP RFC的集合
2.2 应用层协议的内容
- 消息的类型(type)
- 请求消息
- 响应消息
- 消息的语法(syntax)格式
- 哪些字段
- 字段如何描述
- 字段的语义semantics
- 字段中信息含义
- 规则rules
三、网络应用的需求与传输层服务
- 数据丢失data lose / 可靠性 reliability
- 时间timing 延迟delay
- 带宽bandwidth
四、Web
World Wide Web
- 网页
- 网页互相链接
网页web page包含多个对象object
- 对象:HTML、JPEG、视频、动态脚本
- 基本HTML:包含对其他对象引用的链接
对象的寻址(addressing)
- URL(Uniform Resource Locator):统一资源定位器 RFC1738
- Schema://host:port/path
4.1 HTTP
超文本传输协议 HyperText Transfer Protocol
C/S结构
- 客户–Browser:请求、接受、展示Web对象
- 服务器–Web Server:响应客户的请求,发送对象
HTTP版本:
-
1.0 RFC1945
-
1.1 RFC2068
-
使用TCP传输服务
- Server 80 等待客户机请求
- 浏览器发起到Server的TCP连接(创建Socket)
- Server 接受来自浏览器的TCP连接
- 浏览器和服务器 交换HTTP消息
- 关闭TCP
-
无状态(stateless)
- 服务器不维护任何有关客户端过去所发请求的消息
4.1.1 HTTP连接类型
4.1.1.1 非持久性连接 Nonpersistent HTTP
每个TCP连接最多允许传输一个对象
HTTP 1.0中使用非持久性连接
4.1.1.2 持久性连接 Persistent HTTP
每个TCP连接允许传输多个对象
HTTP 1.1默认使用