网络应用的体系结构
客户机/服务器结构(C/S);
点对点结构(P2P);
混合结构;
网络应用进程通信
进程寻址方法:IP地址定主机,端口号(Web:80,E-MAIL:25)定进程。
应用层协议
公开协议:由RFC文档定义
私有协议:自己设置,如P2P使用的。
应用层协议包含的内容:消息类型,消息语法,字段语义,规则描述。
网络应用对传输的要求
时延,数据丢失率,带宽
TCP:连接双方,保证无数据丢失,不保证时延和带宽。
UDP:不连接双方,可以提供低延时和高带宽。
Web应用
Web中对象的寻址:URL(统一资源定位器)
协议://主机:端口//路径
:https://home.firefoxchina.cn/index.html
采用协议:HTTP协议
HTTP协议
HTTP基于TCP协议,属于无状态机制协议。
位于端口80.
可分为:
非持久性HTTP:一次一个对象后就关闭)
持久性HTTP:不立即关闭。持久性HTTP还可以分为无流水(接到一个对象,等待就收完成再发请求,每个对象耗时一个RTT)和有流水(接收一个对象的同时,发下一个请求)两种。
HTTP消息格式
请求消息
请求行
头部行
消息行
请求行方法
POST方法:把消息放入消息行
GET方法:把消息放在请求行的URL里面
响应消息
状态行
头部行
数据行
状态行代码
100消息
200成功
300要求重定向(当前URL不在了?)
400请求错误
500/600服务器错误
Cookie技术
由响应/请求消息的头部行内,客户机和服务器组成。
Web缓存
客户端的请求都发给缓存/代理服务器,如果代理服务器没有再向原始服务器发出请求。
条件性GET方法
缓存需要保持与服务器数据一致性。由此采用了条件性GET方法。思想是每次缓存服务器向原始服务器请求时,附带时间戳,如果服务器没改,则返回304未修改,否则返回修改后的信息。
Email应用
也是采用了C/S构成。使用SMTP协议。
SMTP协议
SMTP协议用于发送邮件的协议。
依赖于TCP协议
位于端口25。
使用持久性链接。
采用 命令/响应模式。
和HTTP一样采用ASCII码传输数据。
消息格式
头部行
消息体
头部行
To,From,Subject等关键字。
此外,利用MIME可以支持多媒体扩展。
邮件访问协议协议
主要有POP协议,IMAP协议和HTTP协议。用于将邮件从服务器下载回客户端。
POP协议
分为认证阶段和事务阶段。
属于无状态协议。
IMAP协议
属于有状态协议。
DNS域名解析系统
除了便于记忆,可以起别名外,还有负载均衡的能力。
负载均衡意思是同一个域名映射多个服务器的IP地址,以分担访问量。
DNS通过逐级寻找域名服务器来逐步解析域名,并在最后一步获得域名与IP地址的对应。
DNS查询有递归和迭代两种查询方式。
DNS记录格式
DNS协议
P2P应用
BitTorrent
上传越多,越容易找到高速的下载伙伴。
索引技术
文件共享
即时消息
索引方式
集中式索引,洪泛式查询和层次式覆盖网络(Skype)