六、应用层(二)
4. 电子邮件
4.1 信息格式
-
信封:abc@163.com
-
内容:首部(From … To …);主体(Subject …)
4.2 组成结构*
-
流程:发送方—>发送端邮件处理器———>接收端邮件处理器—>接收方
-
用户代理(电子邮件客户端软件)
- 功能:撰写,显示,处理(已阅,转发…),通信(把邮件发送出去)
-
邮件服务器*(SMTP服务器,SMTP客户)
-
功能:发送/接收邮件(发送方邮件服务器—>接收方邮件服务器)
向发件人报告邮件发送结果
-
-
协议:发邮件(SMTP协议);收邮件(POP3,IMAP)
4.3 简单邮件传送协议SMTP*
- SMTP规定了在两个相互通信的SMTP进程之间如何交换信息
- SMTP通信三阶段:建立连接—>邮件传送—>连接释放
- 缺点:不能传送可执行文件
- 仅限于传送7位ASCII码
- 拒绝超过一定长度的邮件
- 功能扩展:MIME通过对不同文件类型用不同的标识符标识,来让浏览器读取通过MIME的相关文件(将非ASCII码转化为ASCII码)
-
邮局协议POP3(TCP连接)
- 工作方式:下载并保留(在服务器);下载删除
- SMTP—>SMTP—>POP3
-
网际报文存取协议IMAP
-
看IMAP服务器时能看到首部,若打开,才传到用户计算机上
-
异时异地阅读处理文件,还允许只读一部分
-
SMTP—>SMTP—>POP3
4.4 基于万维网的电子邮件
- 特点:方便
- HTTP—>SMTP—>HTTP
-
5. 万维网和HTTP协议
5.1 万维网概述
万维网:是一个大规模的,联机式的信息资料空间,是无数站点和网页的集合
URL用来标识整个互联网当中的某一个唯一资源(文字,视屏,音频等)的位置
HTTP用来将这些资源传送给用户
HTML帮助设计者来设计页面,使得从一个界面的链接跳转到另一个界面,并显示
5.2 超文本传输协议 HTTP
建立TCP连接——>HTTP请求报文——>HTTP响应报文——>释放TCP连接
具体过程:
1.浏览器分析URL
2.浏览器向DNS请求解析IP地址
3.DNS解析出IP地址
4.浏览器与服务器建立TCP连接
5.浏览器发出取文件命令
6.服务器响应
7.释放TCP连接
8.浏览器显示
5.3 特点
-
HTTP协议是无状态的
-
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)
-
连接方式
-
非持久连接
-
经过3次握手建立连接,服务器收到请求之后将HTTP相应报文传输给客户
-
耗时:RTT*2+文档传输时间
-
缺点:如果再想传输,那么就需要重新建立TCP连接从头开始
-
-
持久连接
- 都是在第三次握手时发生,持久连接再需要请资源的时候就不需要建立新的TCP连接
- 流水线:一个个连着发,然后多个确认
- 非流水线:发一个,确认一个,才能再发下一个
-
5.4 报文结构
- 请求报文:就是对所请求的对象进行什么操作,如获取/删除等等
- URL就是之间说的资源标识符
- 版本是指使用的是什么版本的HTTP协议
- CRLF相当于我们程序里面的
;
,标识一行的结束。同时,在整个首部行结束时,为了区别首部行和实体主体还会有一行单独的CRLF
- 响应报文:
- 状态码:202 Accepted;301Moved;404 Not Found