- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.1 FTP协议原理;11.1.1 文件传输的主要功能
当前网络上绝大多数文件传输应用所遵循的FTP协议标准,是由RFC959定义的。在此RFC中,强调了文件传输应当实现的功能如下:
提供文件(包括数据文件和程序文件)的共享。
支持用户通过应用程序直接或间接使用远程计算机。
提供一致性的协议,屏蔽各类计算机文件系统的差异。
使用TCP确保可靠且有效的数据传输。
;下面以客户端要从FTP服务器上下载一个文件为例,说明FTP的完整交互过程,可用图11.1表示。
;1. 主动模式
该模式表示服务器主动连接客户端,然后传输文件。
2. 被动模式
该模式表示服务器被动接收客户端连接请求,即控制连接请求和数据连接请求都由客户端发起。
;(1) 访问命令
USER命令
格式:USER <username>
功能:指定登录的用户名,以便服务器进行身份验证。
PASS命令
格式:PASS <password>
功能:指定用户口令,该命令必须跟在登录用户名命令之后。
ACCT命令
格式:ACCT <account>
功能:指定用户账号。
REIN命令
格式:REIN
功能:表示重新初始化用户信息。
QUIT命令
格式:QUIT
功能:关闭与服务器的连接。
;(2) 模式设置命令
PASV命令
格式:PASV
功能:该命令告诉FTP服务器,让FTP服务器在指定的数据端口进行监听,进入被动接收请求的状态。
PORT命令
格式:PORT<address>
功能:该命令告诉FTP服务器,客户端监听的端口号是address,让FTP服务器采用主动模式连接客户端。
TYPE命令
格式:TYPE<data type>
功能:指定要传输的数据类型,有ASCII和BINARY。
MODE命令
格式:MODE<mode>
功能:指定传输模式,S表示流,B表示块,C表示压缩。
;(3) 文件管理命令
CWD命令
格式:CWD <directory>
功能:改变工作目录。
PWD命令
格式:PWD
功能:返回当前工作目录。
MKD命令
格式:MKD <directory>
功能:在指定路径下创建新目录,参数为表示特定目录的字符串。
CDUP命令
格式:CDUP
功能:回到上层目录。
RMD命令
格式:RMD<directory>
功能:删除指定目录。参数为表示特定目录的字符串。
;LIST命令
格式:LIST<name>
功能:返回指定路径下的子目录及文件列表,省略<路径>时,返回当前路径下的文件列表。
NLST命令
格式:NLST <directory>
功能:返回指定路径下的目录列表,省略<路径>时,返回当前目录。
RNFR命令
格式:RNFR <old path>
功能:重新命名文件,该命令的下一条命令应该用RNTO指定新的文件名。
RNTO命令
格式:RNTO<new path>
功能:该命令和RNFR命令共同完成对文件的重命名,紧跟在RNFR命令后。
DELE命令
格式:DELE<filename>
功能:删除指定路径下的文件
;(4) 文件传输命令
RETR命令
格式:RETR<filename>
功能:请求服务器将指定路径内的文件复制到客户端,也即下载指定的文件。
STOR命令
格式:STOR<filename>
功能:上传一个指定的文件,并将其存储在指定的位置。
(5) 其他命令
常用的其他命令有SYST命令,该命令没有参数,它返回服务器使用的操作系统。
;2. FTP响应码
3位数字每位都有特定的意义,详细内容见表11-1。;在实际使用时,只需要知道这3位组合在一起表示什么意思就可以了。表11-2列出了部分响应码组合的意义。;(1) 登录
USER命令
PASS命令
ACCT命令
(2) 设置
PORT命令
PASV命令
TYPE命令
;11.2.1 界面设计
本章的Ftp服务器仍然沿用上一章Web服务器的界面风格,设计如图11.2所示。
;软件工程名为“MyFtpServer”,程序界面上各控件的属性描述见表11-3所示。;线程ListTh是用来监听和处理客户端连接请求的,当一个请求被接受之后,服务器就专门为其另启一个线程t,该线程通过执行UserProcessing( )方法来向用户提供FTP服务,其实现代码。
;1. 用户身份确认
每一个用户在使用FTP服务之前都必须先登录,进行身份确认后方可进一步操作。FTP身份确认的流程如图11.4所示。
;;于是客户端程序传输“PASS<password>”信息至服务器,服务器调用CommandPassword( )方法验证用户名和密码。
本程序在用户身份确认阶段,屏幕上的状态监控信息如图11.5所示。
;2. 数据传输
下面以下载文件为例来说明数据传输的过程,其流程如图11.6所示。
;客户端又是如何
您可能关注的文档
- 第八章目标市场营销战略(30p).ppt
- 第八章现代操作系统实例.ppt
- 第五章证物的出示、辨认与鉴真.ppt
- 第八章手机软件、新增功能.ppt
- 第五章血液和淋巴.ppt
- 第八章祛风湿药—d.ppt
- 第八章算法经典问题.ppt
- 第八章第三节单细胞的生物体课件(26张).ppt
- 第八章管理用户和文件权限.ppt
- 第八章节ArmADS开发环境.ppt
- 一病一品护理汇报(手工精品图文).ppt
- 国家义务教育质量监测四年级心理健康测试卷3+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷2+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷5+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷1+问卷(通用版附答案).docx
- 国家义务教育质量监测四年级心理健康测试卷4+问卷(通用版附答案).docx
- 13(猫)第3课时 课件+公开课一等奖创新教学设计.docx
- 孙权劝学 (同步公开课一等奖创新教学设计).docx
- 第17课 要是你在野外迷了路 公开课一等奖创新教学设计.docx
- 统编版(五四制)11古诗二首 池上 公开课一等奖创新教学设计.docx
文档评论(0)