![]() |
1
93
这是一个 performance comparison 两个人中的一个。对于小文件的请求响应,HTTP更具响应性,但是如果调整得当,FTP对于大文件可能更好。过去人们通常认为FTP速度更快。FTP需要一个控制通道,除了TCP状态之外,还需要维护一个状态,但是HTTP不需要。数据在FTP中传输之前有6个包传输,而在HTTP中只有4个包传输。 我认为一个经过适当调整的TCP层对速度的影响要比应用层协议之间的差异大。太阳蓝图 Understanding Tuning TCP 有细节。 这是另一个 good comparison 每个协议的个别特征。 |
![]() |
2
28
我刚刚对FTP和HTTP上的文件传输进行了基准测试:
结果是:
所以,基本上在“现实生活”的情况下: 1) 下载一个大文件时,HTTP比FTP快。 2) 根据网络情况,HTTP可以使用并行块下载,比FTP快6倍。 |
![]() |
3
25
许多防火墙会丢弃不到端口80或443(http&http S)的出站连接;有些防火墙甚至会丢弃不到http的端口的连接。FTP可能允许也可能不允许,更不用说active/PASV模式了。 此外,HTTP/1.1允许更好的部分请求(仅从字节123456发送到文件末尾)、条件请求和缓存(仅在内容更改/上次修改日期更改时发送)和内容压缩(gzip)。 通过代理使用HTTP要容易得多。 从我的轶事证据来看,HTTP更容易处理掉的/慢的/不稳定的连接;例如,在(重新)启动传输之前,不需要(重新)建立登录会话。 OTOH,HTTP是无状态的,所以您必须进行身份验证,并建立一个“谁在什么时候做了什么”的跟踪。 我注意到的速度上的唯一区别是传输大量小文件:带有流水线的HTTP速度更快(减少了往返,特别是在高延迟网络上)。 请注意 HTTP/2 提供了更多的优化,而FTP协议已经有几十年没有更新了(甚至FTP的扩展也没有被用户接受)。所以,除非你是通过时间机器传输文件,否则HTTP似乎赢了。
(切向:有些协议更适合文件传输,例如
|
![]() |
4
12
一个需要考虑的问题是,FTP可以使用非标准端口,这会使防火墙难以通过(特别是在使用SSL的情况下)。HTTP通常位于已知端口上,因此这很少是问题。 如果你决定使用FTP,一定要阅读 Active and Passive FTP . 在性能方面,在一天结束时,它们都会直接通过TCP连接发送文件,所以应该差不多相同。 |
![]() |
5
-4
它们都使用TCP作为传输协议,但是HTTP使用持久连接,这使得TCP的性能更好。 |
|
user7638202 · 如何提取和重新导入NTFS元数据? 6 年前 |
![]() |
willh99 · 将文件从Python服务器发送到Java客户端 7 年前 |
![]() |
Mohsen · 文件传输下载对生产构建没有反应 7 年前 |
![]() |
Samuel · 在线传输文件的最简单方法[关闭] 7 年前 |
![]() |
ydoow · Robocopy的备份模式是什么 9 年前 |