2021-04-24

ftp协议

如果你想往你的服务器传递文件,这是个很常见的问题,我们不仅仅要传文件,还涉及到下载文件和管理服务器文件。这是ftp协议出现了
FTP:文件传输协议 file transfer protocol

功能:
*传输文件到远程主机/从远程主机下载文件
*应用层模式;
Client/server模式
Client.发起传输的一方
*server.远程主机
ftp:RFC 959
ftp服务器: 端口号 21

  和http相比,ftp面向的直接是服务器的文件系统,并且具有维持状态的特点,在文件传输管理上,ftp更胜一筹。

工作流程

*ftp客户先发起建立一个与ftp服务器端口号21之间的tcp控制连接,指定tcp作为传输层协议
*客户在建立的控制连接上获得身份认证
*客户在建立的控制连接上发送命令来浏览远程主机目录
*当服务器接收到一个文件传输命令时,在服务器端口号20创建一个与客户的tcp数据连接
*一个文件传输后,服务器结束这个tcp数据连接
*之后,再次传输,服务器创建第二个tcp与客户的数据连接来传输下一个文件

控制连接:带外发送控制信息(对比http带内控制信息)
ftp服务器要维护状态信息:当前目录,先前目录的身份认证(对比http的无状态连接)

FTP的模块架构

*USER-Pl(protocol interpreter):用户协议解释器
SERVER-Pl:服务器协议解释器

数据连接
user-DTP(Data Transfer Process):用户数据传输进程
server—DTP:服务器数据传输进程

FTP数据连接建立方式

主动模式
    客户端发送RORT命令
       PORT h1,h2,h3,h4,p1,p2(h1-h4是IP地址,p1-p2是端口号)
       服务器根据PORT命令指定的客户端地址和端口号发起数据连接
被动模式
    客户端发送PASV命令
    服务器返回监听的地址和端口号*客户端发起的数据连接

FTP命令和应答

 常见命令
    *在控制连接上发送ASCLL文本
    *USER username
    *PASS password
    *LIST 返回当前文件目录的文件或列表
    *RETR filename获取远程主机当前目录下的一个文件
    *STOR filename存放一个文件到远程主机当前目录下
  常见应答
     状态码及其相应短语(同http)
     321 Username OK,password required
     125 data connection already open;transfer starting
     425 Can't open data connection*452 Error writing fiel

FTP数据传输模式

*ASCLL模式
   假定正在传输的文件为简单的ascll码文本,此时ftp通常会自动地调整文件内容以便于把文件解释成另外一台计算机存储文本文件的格式(例如,互换WINDOWS和UNIX的行结束符)
*二进制模式
   在二进制传输中,保存文件的位序,以便拷贝和原始文件是逐位对应的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值