- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
报文存取协议
篇一:POP3协议详解
POP3协议分析
第1章 POP3概述 POP3全称为Post Office Protocol version3,即邮局协议第3版。它被用户代理用来邮件服务器取得邮件。POP3采用的也是C/S通信模型,对应的RFC文档为RFC1939。该协议非常简单,所以我们只重点介绍其通信过程,而相关的一些概念和术语请参考RFC文档或另外一篇文章《SMTP协议分析》
第2章.POP3详解
2.1通信过程
用户从邮件服务器上接收邮件的典型通信过程如下。
1) 用户运行用户代理(如Foxmail, Outlook Express)。 2) 用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连接。
3) 客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。
4) 服务端解析用户的命令,做出相应动作并返回给客户端一个响应。
5) 3)和4)交替进行,直到接收完所有邮件转到步骤6),或两者的连接被意外中断而直接退出。 6) 用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。
其中2)、3)和4)用POP3协议通信。可以看出命令和响应是POP3通信的重点,我们将予以重点讲述。
2.2命令和响应
2.2.1.格式
POP3的命令不多,它的一般形式是:COMMAND [Parameter] lt;CRLF。其中COMMAND是ASCII形式的命令名,Parameter是相应的命令参数,lt;CRLF是回车换行符(0DH, 0AH)。
服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行“+OK”或“-ERR”开头,然后再加上一些ASCII文本。“+OK”和“-ERR”分别指出相应的操作状态是成功的还是失败的。
2.2.2.三个状态
POP3协议中有三种状态,认正状态,处理状态,和更新状态。 命令的执行可以改变协议的状态,而对于具体的某命令,它只能在具体的某状态下使用,这些请参看表1和RFC193。
客户机与服务器刚与服务器建立连接时,它的状态为认证状态;一旦客户机提供了自己身份并被成功地确认,即由认可状态转入处理状态; 在完成相应的操作后客户机发出QUIT命令(具体说明见后续内容),则进入更新状态,更新之后又重返认可状态;当然在认可状态下执行QUIT命令,可释放连接。状态间的转移如图 1所示。
---建立连接---|认可|--认证成功--|处理|--执行QUIT--|更新|
|_______ -QUIT结束_________________|
图 1 POP3的状态转移图
?
?
?
?
?
?
?
? 认可状态 处理状态 更新状态 建立连接 执行QUIT QUIT完毕 执行QUIT,释放连接 认证成功
2.2.3.一个例子
命令和响应的格式是语法,各命令和响应的意思则是语义,各命令和各响应在时间上的关系则是同步。我们还是通过以个简单的POP3通信过程来说明协议的这三个要素。
C:telnet 110/* 以telnet方式连接126邮件服务器 */
S:+OK Welcome to coremail Mail Pop3 Server (126coms[3adb99eb4207ae5256632eecb8f8b4855]) /* +OK,代表命令成功,其后的信息则随服务器的不同而不同*/
C:USER bripengandre /* 采用明文认证 */
S:+OK core mail
C:PASS Pop3world /* 发送邮箱密码 */
S:+OK 654 message(s) byte(s)] /* 认证成功,转入处理状态 */
C:LIST 1 /* 显示第一封邮件的信息 */
S:+OK 1 5184 ./* 第一封邮件的大小为5184 字节 */
C:UIDL 1 /* 返回第一封邮件的唯一标识符 */
S:+OK 1 1tbisBsHaEX9byI9EQAAsd /* 数字1 后的长字符串就是第一封邮件的唯一标志符 */ C:RETR 1 /* 下载第一封邮件 */
S:+OK 5184 octets /* 第一封邮件的大小为5184字节 */
S:Receive? /* 第一封邮件的具体内容 */
S:?
C:QUIT /* 转入更新状态,接着再转入认证状态 */
S:+OK
C: QUIT /* 退出连接 */
S:+OK core mail /* 成功地退出了连接 */
对于上述的过程,补充如下几点内容。
1) “C:”开头的行(不包括C:)是客户端的输入,而以“S:
您可能关注的文档
- 我心中的学校小学作文.doc
- 我想说声谢谢你书信.doc
- 我懂得了坚强500,字小学作文.doc
- 我明白了初中作文.doc
- 我是一只萤火虫,小学作文.doc
- 我是一名私立学校的小学数学教师这样才能进广州白云区广外小学.doc
- 我是大医生警惕皮肤主持台本字幕.doc
- 我是歌手模板.doc
- 我是公民高中作文.doc
- 我最感动的事书信模式.doc
- 林德115系列叉车维修手册 英文.pdf
- 林德E16C-03, E16P-03, E20P-03叉车维修手册 英文.pdf
- 林德H50T叉车维修手册 英文.pdf
- 6.1.2 化学反应与电能 课件高一下学期化学人教版(2019) 必修第二册.pptx
- 零碳项目初步设计(模板).docx
- 金融从业者必懂的宏观经济指标实战指南:2025年投资策略与市场分析.docx
- 第二章 第二节 氯及其化合物-第1课时 氯气的性质课件高一上学期化学人教版(2019)必修第一册.pptx
- 产品经理完全指南:Axure原型设计从入门到实战全解.docx
- 6.1.2 影响化学反应速率的因素 课件高一下学期化学苏教版(2020)必修第二册.pptx
- 零碳项目融资方案(模板).docx
文档评论(0)