目录
- [2.1 应用层协议原理](#2.1 应用层协议原理)
-
- [2.1.1 网络应用程序体系结构](#2.1.1 网络应用程序体系结构)
- [2.1.2 进程通信](#2.1.2 进程通信)
- [2.1.3 可供应用程序使用的运输服务](#2.1.3 可供应用程序使用的运输服务)
- [2.1.4 因特网提供的运输服务](#2.1.4 因特网提供的运输服务)
- [2.2 Web和HTTP](#2.2 Web和HTTP)
-
- [2.2.1 HTTP概况](#2.2.1 HTTP概况)
- [2.2.2 非持续连接和持续连接](#2.2.2 非持续连接和持续连接)
- [2.2.3 HTTP报文格式](#2.2.3 HTTP报文格式)
- [2.2.4 用户与服务器的交互:Cookie](#2.2.4 用户与服务器的交互:Cookie)
- [2.2.5 Web缓存](#2.2.5 Web缓存)
- [2.2.6 万维网文档](#2.2.6 万维网文档)
- [2.3 因特网中的电子邮件](#2.3 因特网中的电子邮件)
- [2.3.1 SMTP](#2.3.1 SMTP)
- [2.3.2 SMTP和HTTP的区别](#2.3.2 SMTP和HTTP的区别)
- [2.3.3 邮件访问协议](#2.3.3 邮件访问协议)
2.1 应用层协议原理
2.1.1 网络应用程序体系结构
-
C-S体系结构
-
客户是服务请求方,服务器是服务提供方
-
服务器总是处于运行状态,并等待客户的服务请求
-
服务集中型,即服务集中在比客户计算机少得多的服务器计算机上
-
常出现服务器跟不上众多客户机请求的情况
-
为此,常用计算机群集(或服务器场)构建虚拟服务器
-
-
缺点:成本高
-
-
P2P体系结构
-
没有固定的服务请求提供者
-
服务分散型,即服务分散大量对等计算机,通常是个人控制的计算机中
-
自扩展性,系统性能不会因为规模的增大而降低
-
具有成本优势
-
缺点:安全性、性能、可靠性
-
2.1.2 进程通信
-
客户和服务器进程
-
发起通信的进程是客户,等待联系的是服务器
2.1.3 可供应用程序使用的运输服务
-
可靠数据传输
-
吞吐量
因特网运输协议不提供
-
定时
因特网运输协议不提供
-
安全性
2.1.4 因特网提供的运输服务
-
TCP服务
-
面向连接服务
-
可靠数据传输服务
-
拥塞控制
-
-
UDP服务
-
无连接
-
不可靠数据传输服务
-
2.2 Web和HTTP
2.2.1 HTTP概况
-
超文本传输协议HTTP
面向文本,有两类报文:请求报文和响应报文,都是ASCII
-
URL
统一资源定位符,指明因特网资源的位置
-
超文本传输协议HTTP,是Web的核心,由客户程序和服务器程序实现
2.2.2 非持续连接和持续连接
-
HTTP 1.0
-
非持续连接
-
每请求一个文档就要有2倍RTT的开销(三次握手+响应报文)
-
-
HTTP 1.1
-
持续连接
-
可采用流水线方式提升效率
-
2.2.3 HTTP报文格式
-
请求行
方法 + sp + URL + sp + 版本 + cr + lf -
首部行
-
首部字段名 + sp + 值 + cr + lf -
可以多个首部行
-
-
实体体
2.2.4 用户与服务器的交互:Cookie
对无状态化的HTTP进行状态化的技术,使得万维网能够记住用户
2.2.5 Web缓存
-
可位于用户机或中间系统,位于中间系统的叫代理服务器
-
主机先向代理服务器发出请求,若代理服务器有存放所请求的对象,就直接发回包含所请求对象的响应。若没有,代理服务器再向原始服务器发出请求,原始服务器会把包含所请求对象的响应发回代理服务器,代理服务器将该响应存入Web缓存,然后给主机发回该响应。
-
使用conditional GET方法来检查是否修改,仅自指定日期后未修改对象,才发送该对象
2.2.6 万维网文档
-
HTML
超文本标记语言,描述网页结构和内容
-
CSS
层叠样式语言,审美角度描述网页样式
-
JavaScript
脚本语言(和Java无关)控制网页行为
2.3 因特网中的电子邮件
2.3.1 SMTP
-
SMTP协议只能传送ASCII文本数据
为解决传送非ASCII文件,提出多用途因特网邮件扩展MIME
-
发送与接收过程
-
使用SMTP发送邮件
-
发送方用户代理作为SMTP客户端,和发送方邮件服务器进行TCP连接
- 基于该TCP连接使用SMTP发送邮件
-
发送方邮件服务器作为SMTP客户端,和接收方邮件服务器的SMTP服务器进行TCP连接
- 基于该TCP连接使用SMTP发送邮件
-
-
使用POP3读取邮件
-
接收方用户代理的POP3客户和接收方邮件服务器的POP3服务器进行TCP连接
- 基于该TCP连接使用POP3读取邮件
-
-
用户代理能让用户及时接收任何时候的新邮件,而不用一直开着电脑
-
2.3.2 SMTP和HTTP的区别
-
- HTTP是拉协议,用户从服务器拉取信息
- SMTP是推协议,发送方邮件服务器把邮件推向接收方邮件服务器
-
- HTTP没有限制
- SMTP要求采用ASCII
-
-
关于既包含文本又包含图形的文档
-
HTTP把每个对象封装到自己的HTTP响应报文中
-
SMTP把所有报文对象放在一个报文中
-
2.3.3 邮件访问协议
-
POP3
简单、功能有限,不允许用户在邮件服务器管理邮件
-
IMAP
-
用户可以在自己计算机远程操控邮件服务器中的邮箱
-
允许用户代理只获取一部分报文
-
-
POP3和IMAP都采用基于TCP连接的客户-服务器方式
-
基于万维网的电子邮件
-
通过浏览器登录邮件服务器万维网网站就可以管理电子邮件
-
用户浏览器与邮件服务器网站之间使用HTTP协议,邮件服务器之间使用SMTP协议
-