只用于下载:在我的服务器FTP与HTTP?

我想从我的电脑(文本,视频,图像)获取一些文件,并且想将它们下载到我的Android设备上的文件夹中。 我一直在寻找替代品,我认为有两种方法可以做到这一点,但我不知道使用这两种方法是否有很大的不同。

哪种协议更好,为什么,在我的情况下,FTP或HTTP? 我不需要上传任何东西,文件的大小也不是很大。 (我想大约5M是最大的文件)

我认为HTTP更容易,FTP最快,可能是? 但我想,在编程时想,哪个更好。


我会推荐HTTP。 它允许您下载具有多个连接的文件,您可以轻松共享网址,并且还可以在限制环境中下载,但除http以外的所有端口都被阻止。

如果您希望以每个用户为基础控制对文件的访问并且还需要大量上传,则FTP更为合适。

加成:

您也可以使用.htaccess文件在http中实现安全性。 但是,它不具有可扩展性,不适合拥有不同访问权限的太多用户。

在http上保护文件还有其他几种方法。 你可以在http://sourceforge.net上找到很多开源工具,它可以让你做到这一点。 在速度方面,http是最好的。 它允许您获取文件的任意部分,因此可以进行多线程下载。

您会注意到大多数文件共享网站使用http,并且这是出于可伸缩性的原因。


就速度而言,对于大于10kB的文件大小而言,两者是等效的。 不同的是,FTP在其数据通道上发送纯粹的原始数据,而没有任何头文件,因此它的开销略小。 但是,在将原始数据放入通道之前,HTTP只会为每个文件发送大约12行左右的文本。 因此,对于大约10kB或更低的文件,HTTP开销可能相当高 - 约占总带宽的1%到2%。 对于大文件,十几行HTTP标头变得可以忽略不计。

FTP为控制通道浪费了一个套接字,所以对于许多用户而言,HTTP的可扩展性是两倍。 请记住,您的操作系统可以打开的套接字数量有限。

最后,最重要的考虑是很多人通过防火墙访问互联网。 无论是公司,学校还是宿舍或公寓楼。 许多防火墙被配置为只允许HTTP访问。 因此,您可能会发现有时您无法访问您的文件。 这当然有办法解决,但这是一个额外的麻烦,你必须考虑。


附加答案:

我看到你问到访问限制和安全问题。 HTTP的轻微缺点是您需要编写自己的Web应用程序来实现这一点。 像Apache这样的Web服务器可以通过使用HTTP基本认证编写配置文件来完成这项工作。

幸运的是,人们之前有过这个问题,其中一些人已经编写了软件来做到这一点。 谷歌周围的“HTTP文件服务器”,你会发现许多实现。 这里有一个相当不错的开源Web应用程序:http://pfn.sourceforge.net/

另外,如果你真的想要安全,你应该为你的服务器设置SSL / TLS,而不管你最终使用FTP或HTTP。

链接地址: http://www.djcxy.com/p/61365.html

上一篇: Use only for downloading: FTP vs HTTP in my server?

下一篇: Upload/Download files from iPhone over FTP protocol