当前位置:  开发笔记 > 运维 > 正文

比较HTTP和FTP以传输文件

如何解决《比较HTTP和FTP以传输文件》经验,为你挑选了4个好方法。

通过Internet传输文件有哪些优点(或限制)?

(我知道两种协议的安全形式.我希望通过个人经验在性能,可靠性,文件大小限制等方面进行比较.)



1> John Ellinwo..:

这是两者的性能比较.HTTP对小文件的请求 - 响应响应更快,但如果正确调整,FTP对于大文件可能更好.过去,FTP通常被认为更快.FTP需要一个控制通道,并且除了TCP状态之外还要维护状态,但HTTP不需要.在数据开始在FTP中传输之前有6个数据包传输,但在HTTP中只有4个.

我认为适当调整的TCP层对速度的影响要大于应用层协议之间的差异.Sun Blueprint 了解Tuning TCP有详细信息.

这是对每个协议的个别特征的另一个很好的比较.


+1好的答案.我认为FTP的日子已经过去了,它已经不再那么重要了.它也是一个绝对*猪*实施.
"小"或"大"文件的大小是多少?

2> 小智..:

我只是通过FTP和HTTP对文件传输进行基准测试:

超过两个非常好的服务器连接

使用相同的1GB .zip文件

在相同的网络条件下(一个接一个地测试)

结果:

使用FTP:6分钟

使用HTTP:4分钟

使用并发http下载软件(fdm):1分钟

所以,基本上处于"现实生活"的情况下:

1)下载一个大文件时,HTTP比FTP快.

2)HTTP可以使用并行块下载,这使其比FTP快6倍,具体取决于网络条件.


这似乎很轶事.
@anecdotal他提供了数字(来自研究的事实),这比迄今为止的任何其他答案都要少.

3> Piskvor cc-b..:

许多防火墙都会丢弃不是端口80或443的出站连接(http和https); 有些甚至连接到那些不是HTTP(S)的端口.可能允许也可能不允许FTP,更不用说有效/ PASV模式.

此外,HTTP/1.1允许更好的部分请求("仅从字节123456发送到文件末尾"),条件请求和缓存("仅在内容更改时发送/如果上次修改日期更改")和内容压缩(gzip的).

HTTP通过代理更容易使用.

根据我的轶事证据,HTTP更易于使用丢弃/慢速/片状连接工作; 例如,在(重新)启动传输之前不需要(重新)建立登录会话.

OTOH,HTTP是无状态的,因此您必须进行身份验证并构建一条"自己什么时候做"的路径.

我注意到的唯一速度差异是传输大量小文件:带流水线的HTTP速度更快(减少往返次数,尤其是在高延迟网络上显着).

请注意,HTTP/2提供了更多的优化,而FTP协议几十年来没有看到任何更新(甚至FTP的扩展也没有被用户吸引).因此,除非您通过时间机器传输文件,否则HTTP似乎已经获胜.

(切向:有更适合文件传输的协议,例如rsyncBitTorrent,但那些没有那么多的思想共享,而HTTP是Everywhere™)



4> brian-brazil..:

一个考虑因素是FTP可以使用非标准端口,这可以使防火墙变得困难(特别是如果您使用SSL).HTTP通常位于已知端口上,因此这很少成为问题.

如果您决定使用FTP,请务必阅读有关主动和被动FTP的信息.

在性能方面,在一天结束时,他们都是直接沿着TCP连接喷出文件,所以应该大致相同.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有