计算机网络应用体系结构
应用体系结构的三种类型
客户/服务器(C/S)结构
最主要的特征是通信只在客户和服务器之间进行,客户和客户之间不进行直接通信
(客户主动请求服务器,服务器不主动请求客户)
P2P(peer to peer)结构
每个对等端同时具备C/S 应用的客户与服务器的特征,是一个服务器与客户的结合体,对等端之间直接通信
混合结构
既有中心服务器存在,又有对等端(客户)间的直接通信
网络应用通信基本原理
C/S通信的基本原理:
服务端运行的是服务器进程,被动的等待客户请求服务客户端运行的是客户进程,主动发起通信,请求服务器进程提供服务。应用进程间遵循应用层协议交换应用层报文
域名系统(DNS)
域名构成
域名解析
将域名映射为IP地址的过程叫域名解析
域名服务器
为了实现域名解析,需要建立分布式数据库,存储网络中的域名与IP地址的映射关系数据,这些数据库存储在域名服务器上,域名服务器根据用户的请求提供域名解析服务
域名服务器分类
根域名服务器
顶级域名服务器
权威域名服务器
本地域名服务器,
域名解析过程
递归查询
代替查询主机或其他域名服务器,进行进一步的查域名查询,并将最终解析结果发送给查询主机或服务器
迭代查询
只是将下一步要查询的服务器告知查询主机或服务器
万维网应用
HTTP(超文本传输协议)
定义浏览器如何向web服务器发送请求以及web服务器如何向浏览器进行相应
版本:HTTP/1.0和HTTP/1.1
HTTP连接:非持久连接,持久连接
连接方式
非持久连接
请求每个对象都要新建立一次tcp请求,每次tcp请求串行进行,每结束一次请求tcp断掉连接
并行连接
先请求html页面,在页面请求结束后根据内容并行请求剩下的资源
非流水方式持久连接
建立一次连接将所有的请求串行请求
流水方式持久连接
建立一次连接,求的html对象后进行并行请求剩下的资源
HTTP请求报文:
请求报文:从客户向服务器发送请求报文
HTTP请求报文:
HTTP典型的请求方法有 GET、HEAD、POST、OPTION、PUT等
1.GET:请求读取由URL所标识的信息
2.HEAD:请求读取有URL的信息的首部,无须在相应报文中包含的对象
3.POST:给服务器添加信息
4.OPTION:请求一些选项的信息
5.PUT:在指明的URL下存储一个文档
HTTP 响应报文:
响应报文:从服务器向客户的响应
状态码分类
1xx 信息提示 通告信息,可能还需要进一步交互
2xx 成功 成功完成客户请求操作,并进行响应
3xx 重定向 表示资源已移走,需要向新url发送请求
4xx 客户端错误 由于客户端请求错误,无法成功响应
5xx 服务端错误 由于服务器端错误,无法成功响应
cookie
cookie中文名称为小型文本文件,指某些网站为了辨别用户身份,进行会话跟踪而储存在用户本地终端上的数据
弥补了HTTP协议无状态性的不足,有利于进行用户跟踪并提供针对性的服务,但也带来一些安全问题
Internet电子邮件
SMTP协议
SMTP是Internet电子邮件中核心应用层协议,实现邮件服务器间或用户代理邮件服务器之间的邮件传输。
SMTP使用传输层TCP实现可靠数据传输,端口号25.
SMTP通过3个阶段的应用层交互完成邮件的传输,分别是握手阶段、邮件传输阶段和关闭阶段。
SMTP的基本交互方式是SMTP客户端发送命令,命令后面可能携带参数,SMTP服务器对命令进行应答
SMTP协议示例
电子邮件格式与MIME
1.电子邮件包括首部、空白行、主体三部分
To,Subject ,Cc ,From,ReplyTo等关键词
MIME(多用途互联网邮件扩展)
将非7位ASCII码文本内容转换为7位ASCII码文本内容,然后在利用SMTP进行传输
邮件读取协议
1.第三版邮局协议(POP3)
2.互联网邮件访问协议(IMAP)
3.http
FTP
在互联网两个主机间实现文件互传的应用层协议
C/S模式采用控制连接(21端口)传输控制命令数据连接(20端口)传输文件内容。
P2P应用
P2P应用的优势: 充分聚集利用了端系统(对等方主机)的计算能力以及网络传输带宽,对服务器依赖很小
Socket编程基础
TCP Socket编程过程
UDP Socket编程过程
本章小结与重难点