HTTP 的优点和缺点

HTTP 的优点和缺点

当我有 http 和 ftp 选项时(比如Hadoop 下载页面),我应该选择 ftp 吗?

我以前尝试过 ftp,并没有发现任何明显的差异。它应该表现得更好吗?

答案1

摘自 eHow,链接见底部

HTTP 的优点和缺点

HTTP 上传提供了一种非常简单的将文件上传到服务器的方法,只需很少的文件传输知识即可。下载文件也非常简单。然而,缺点在于 HTTP 在文件上传方面缺乏能力。此外,程序员需要具备创建 HTML 表单所需的知识,才能上传相关文件。如果文件是用于他们正在创建的类似于 Myspace 或 Facebook 的社交网络,则尤其如此。

FTP 的优点和缺点

使用 FTP 服务器有其自身的优点。首先,用户可以使用程序执行批量上传到服务器,而不必担心反复重新浏览文件并使用一个表单重新上传。也可以批量下载。不幸的是,FTP 服务器仍然需要使用 FTP 客户端,而对于只想上传一两张图片的人来说,使用 FTP 客户端会特别麻烦。

差异

归根结底,FTP 和 HTTP 文件传输的目的完全不同。FTP 的文件传输目的或多或少是为了网站维护和批量上传,而 HTTP 则用于客户端工作以及供最终用户将电影、图片和其他文件上传到服务器。很多时候,程序员会使用 FTP 上传文件,以便最终用户也可以通过 HTML/HTTP 上传文件。

阅读更多:HTTP 与 FTP 文件传输 |https://www.techwalla.com/articles/http-vs-ftp-file-transfer#ixzz0wlUSkVIY

答案2

一般来说,关于协议网络性能的一般性答案非常困难,因为性能很大程度上取决于特定的网络设置,通常比所使用的协议更重要。

话虽如此,我不知道 http 和 ftp 的数据吞吐量为何会有所不同。两者基本上都只是通过 TCP 流发送数据,因此实际的数据传输过程是相同的。因此,一般来说,ftp 和 http 的下载速度应该相同。

通常由于其他原因而首选 http:它与防火墙配合得更好(可以代理),它允许重新启动中断的下载,并且可以随下载提供媒体类型(MIME),更容易加密(TLS / SSL)等...

答案3

对我来说,FTP 最大的缺陷之一是无法重用套接字。FTP 有 3 种传输模式,即流、块和压缩,但对后两种模式的支持并不常见。在默认且使用最广泛的模式 (流) 中,数据基本上以原始字节流的形式传输,并且由于它没有关于何时完成该文件的元数据,因此必须在完成后关闭连接。这意味着如果您通过 FTP 传输 100,000 个文件,您将打开和关闭 100,000 个 TCP 连接。如果这还不够糟糕,当其中一个连接关闭时,它必须处于 TIME_WAIT 状态一段时间。在 Windows 上,重新使用该端口的默认延迟为 240 秒(4 分钟)。更糟糕的是,默认情况下您最多只能使用 5,000 个端口。这使得 FTP 成为传输大量小文件的噩梦。通过调整注册表,您可以将冷却延迟变为 30 秒,并将最大用户端口增加到大约 65,000,这将有很大帮助,但绝不是理想的。

另一方面,HTTP 可以重复使用同一个套接字来传输多个文件。因此,如果您有很多文件(尤其是较小的文件),那么 HTTP 无疑是更好的选择。

如果您只处理几个大文件,那么使用哪种协议就不那么​​重要了。我认为当人们想到传输文件时,首先想到的是 FTP,但这并不意味着它在这方面更胜一筹。

相关内容