当我同时拥有http和ftp选项(例如Hadoop下载页面)时,我应该选择ftp吗?
我之前尝试过ftp,但没有发现任何明显的不同。它应该表现更好吗?
当我同时拥有http和ftp选项(例如Hadoop下载页面)时,我应该选择ftp吗?
我之前尝试过ftp,但没有发现任何明显的不同。它应该表现更好吗?
Answers:
从eHow偷了,在底部的链接
HTTP的优缺点
HTTP上载提供了一种非常简单的将文件上载到服务器的方法,而对文件传输的了解却很少。下载文件也非常容易。但是,缺点在于HTTP缺乏文件上传功能。另外,程序员需要具备以HTML创建表单所需的知识,以便上传相关文件。如果文件用于与他们正在创建的Myspace或Facebook类似的社交网络,则尤其如此。
FTP的优缺点
使用FTP服务器具有其自身的优势。例如,用户可以使用程序执行向服务器的批量上传,而不必担心反复需要重新浏览文件并使用一种形式重新上传文件。也可以批量下载。不幸的是,FTP服务器仍然需要使用FTP客户端,对于只想上传一两张图片的用户来说,使用一个FTP客户端特别麻烦。
差异性
最终,FTP和HTTP文件传输具有完全不同的目的。FTP的文件传输目的或多或少用于网站维护和批量上传,而HTTP用于客户端工作以及最终用户将诸如电影,图片和其他文件之类的内容上传到服务器。通常,程序员会使用FTP上传文件,最终用户也可以通过HTML / HTTP上传文件。
阅读更多:HTTP与。FTP文件传输| eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY
通常,关于协议的网络性能的一般答案非常困难,因为性能在很大程度上取决于特定的网络设置,而不仅仅是取决于所使用的协议。
就是说,我不知道http和ftp的数据吞吐量为何不同的任何原因。两者基本上都只是通过TCP流发送数据,因此实际的数据传输过程是相同的。因此,不可以,通常ftp和http的下载速度应该相同。
通常出于其他原因,通常首选http:与防火墙配合使用(可以代理),允许重新启动中断的下载,并可以随下载提供媒体类型(MIME),更易于加密(TLS / SSL)等
对我而言,FTP的最大陷阱之一是它无法重用套接字。FTP具有3种传输模式:Stream,Block和Compressed,但是对后两种的支持并不常见。在默认且使用最广泛的模式(Stream)中,数据基本上作为原始字节流传输,并且由于它没有有关何时完成该文件的元数据,因此必须在完成时关闭连接。这意味着,如果通过FTP传输100,000个文件,则将打开和关闭100,000个TCP连接。如果在关闭这些连接之一时还不够好,则必须将其置于TIME_WAIT状态一段时间。在Windows上重用该端口的默认延迟为240秒(4分钟)。最重要的是,默认情况下最多只能使用5,000个端口。这使FTP成为传输大量小文件的噩梦。通过调整注册表,您可以将冷却延迟延长至30秒,并将最大用户端口增加到大约65,000,这将有很大帮助,但绝非理想选择。
另一方面,HTTP可以重用同一套接字来传输多个文件。因此,如果您有很多文件(尤其是较小的文件),那么毫无疑问,HTTP是更好的选择。
如果您只处理几个大文件,那么使用哪种协议都无关紧要。我认为当人们想到传输文件时,FTP才浮现在脑海中,但这当然并不意味着它会更好。