仅用于下载:我的服务器中的FTP与HTTP?

时间:2012-09-07 08:51:10

标签: download protocols

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

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

我认为HTTP更容易,FTP速度最快,可能吗?但我想,在编程中思考哪个更好。

2 个答案:

答案 0 :(得分:3)

就速度而言,大于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。

答案 1 :(得分:1)

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

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

增加:

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

还有其他几种保护http文件的方法。您将能够在http://sourceforge.net上找到许多开源实用程序,这些实用程序可以让您这样做。当速度时,http是最好的。它允许您获取文件的任意部分,因此可以进行多线程下载。

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