文章目录
一、网络应用体系结构
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默认使用
 
 
 
 










