FTP协议中是否有类似HTTP范围标头的内容?

FTP协议中是否有类似HTTP范围标头的内容?,http,ftp,protocols,Http,Ftp,Protocols,假设我只想通过FTP传输文件的一部分-是否可以使用标准FTP协议 在HTTP中,我可以在请求中使用指定远程资源的数据范围。如果是1mb文件,我可以要求从600k到700k的字节 FTP中有类似的东西吗?我在看书,什么也没看到,但我想确保我没有遗漏任何东西 FTP中有一个重新启动命令-可以吗 附录 获取后,我编写了一个只读流类来包装FTP。它支持基于REST动词对通过FTP读取的资源执行Seek()和Read()操作。 在找到它 Seek()非常慢,因为设置数据套接字需要很长时间。最好的结果出现

假设我只想通过FTP传输文件的一部分-是否可以使用标准FTP协议

在HTTP中,我可以在请求中使用指定远程资源的数据范围。如果是1mb文件,我可以要求从600k到700k的字节

FTP中有类似的东西吗?我在看书,什么也没看到,但我想确保我没有遗漏任何东西

FTP中有一个重新启动命令-可以吗


附录
获取后,我编写了一个只读流类来包装FTP。它支持基于
REST
动词对通过FTP读取的资源执行Seek()和Read()操作。
在找到它


Seek()非常慢,因为设置数据套接字需要很长时间。最好的结果出现在将该流包装在一个容器中时

是,您可以使用
REST
命令

REST
设置后续文件传输应开始的点。它通常用于重新启动中断的传输。命令必须位于
RETR
STOR
之前,因此必须位于
端口
PASV
之后

来自FTP的RFC 959:

重新启动(REST)参数字段 表示在其上的服务器标记 要重新启动文件传输。这 命令不会导致文件传输 但是跳过文件到 指定的数据检查点。这 应立即执行命令 通过相应的FTP服务命令 这将导致文件传输到 恢复

阅读更多:


你应该看看并行传输是如何实现的。这是在使用您想要的技术(实际上可能是代码,最好是借用,而不是自己从头开始实现)。

非常好。这将设置范围的开始,即答案的前半部分。设置要传输的范围的末尾是另一半。我认为FTP中没有任何东西可以做到这一点,所以。。。我想客户需要停止转移。可能会发送一个中止命令。需要测试。@Cheeso:是的,这是正确的。一旦有足够的数据,您只需发送一个ABOR或断开数据连接。尝试后,它似乎工作正常。谢谢。这个功能是建议的:但显然从未被接受。这里还有更多的信息:我想这方面的用例很少。我想用它。