首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >传输文件时HTTP和FTP的比较

传输文件时HTTP和FTP的比较
EN

Stack Overflow用户
提问于 2009-04-04 14:42:24
回答 5查看 129.2K关注 0票数 136

在Internet上传输文件时,两者的优势(或限制)是什么?

(我知道这两种协议的安全形式。我想通过个人经验来了解在性能、可靠性、文件大小限制等方面的比较。)

EN

回答 5

Stack Overflow用户

发布于 2009-04-04 14:54:38

下面是这两个performance comparison中的一个。HTTP对小文件的请求-响应响应更快,但如果调整得当,FTP可能更适合大文件。FTP过去通常被认为更快。FTP要求除了TCP状态之外还需要一个控制通道和状态,但HTTP不需要。在FTP中,在数据开始传输之前有6次数据包传输,而在HTTP中只有4次。

我认为,与应用层协议之间的差异相比,适当调优的TCP层对速度的影响更大。Sun Blueprint Understanding Tuning TCP提供了详细信息。

下面是每个协议各自特征的另一个good comparison

票数 108
EN

Stack Overflow用户

发布于 2009-04-04 15:10:24

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

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

通过代理使用HTTP要容易得多。

根据我的经验,HTTP更容易处理掉线/慢速/松散的连接;例如,在(重新)启动传输之前,不需要(重新)建立登录会话。

OTOH,HTTP是无状态的,所以你必须自己做身份验证和构建“谁做了什么时间”的跟踪。

我注意到速度上的唯一区别是传输大量小文件:使用流水线的HTTP速度更快(减少了往返,特别是。在高延迟网络上很明显)。

请注意,HTTP/2提供了更多的优化,而FTP协议几十年来没有看到任何更新(甚至对FTP的扩展也没有被用户采用)。所以,除非你是通过时光机传输文件,否则HTTP似乎赢了。

(切题:有一些协议更适合文件传输,如rsync或BitTorrent,但这些协议没有那么多的思想共享,而HTTP无处不在的™)

票数 29
EN

Stack Overflow用户

发布于 2009-04-04 15:00:10

要注意的一点是,FTP可能会使用非标准端口,这会使穿越防火墙变得困难(特别是在使用SSL的情况下)。HTTP通常位于已知端口上,因此这很少出现问题。

如果您决定使用FTP,请务必阅读有关Active and Passive FTP的内容。

在性能方面,在一天结束的时候,它们都是直接从TCP连接上喷出文件,所以应该是差不多的。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/717200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档