FTP 协议和 HTTP 协议的12点比较(文件上传/下载) - 开源中国社区
Float_left Icon_close
FTP 协议和 HTTP 协议的12点比较(文件上传/下载)
王振威 2012年04月22日

FTP 协议和 HTTP 协议的12点比较(文件上传/下载)

王振威 王振威 发布于2012年04月22日 收藏 71 评论 10

【腾讯云】0基础建站 网站模板9元起! >>>  

许多站点,比如facebook或一些博客等都允许用户上传或下载文件,比如论坛或博客系统的图片。在这种情况下,通常有两种选择上传文件到服务器,那就是FTP协议和HTTP协议。

以下列出了一些两者的不同点:

1、HTTP协议是用来浏览网站的,而FTP是用来访问和传输文件的,FTP文件传输有点批量上传和维护网站的意思,而HTTP文件传输更多的是为终端用户提供文件传输,比如电影、图片、音乐之类。

2、HTTP 和 FTP 客户端:通常的HTTP客户端就是浏览器,而FTP服务可以通过命令行或者用户自有的图形界面客户端。

3、HTTP 头:HTTP 头包含了 metadata ,比如说最后更改的日期、编码方式、服务器名称版本还有其他的一些信息,而这些在FTP中是不存在的。

4、FTP要比HTTP早出现10年左右。

5、数据格式:FTP能传输ACSII数据或者二进制格式的数据,而HTTP只用二进制格式。

6、HTTP中的流水线:HTTP支持流水线,这就意味着客户端可以在上一个请求处理完之前,发出下一个请求,其结果就是多次请求数据之前省掉了部分服务器客户端往返时延。而FTP并没有这项支持。

7、HTTP中的动态端口:FTP一个最大的问题就是它使用两个连接,第一个连接用来发送控制指令,当接受或者发送数据的时候,又打开第二个TCP连接。而HTTP在双向传输中使用动态端口。

8、HTTP中的持久连接:对一个HTTP会话来讲,客户端可以维护一个单个的连接并使用它进行任意数量的数据传输。FTP每次有数据的需要时都创建一个新的连接。重复的创建新的连接带来的体验并不好,因为每次创建连接都必须让双方握手验证,这消耗了很多时间。

9、HTTP中的压缩算法:HTTP提供了一个在一些压缩算法中客户端和服务器共同协商选择的办法。其中gzip可以说是最有影响力的一种,而FTP中并不存在这种复杂的算法。

10、HTTP支持代理:HTTP一个很大的特点就是支持代理,这种功能是构建在协议里的,而FTP并不支持。

11、而FTP也能脱颖而出的一点是这个协议是直接面向文件级别的。这以为着FTP有例如可以通过命令列出远程服务器上的目录列表,而HTTP没有这个概念。

12、速度:可能最通常的问题了:哪一个传输更快?

什么使FTP服务更快?

1、没有在发出的数据中加入meta-data,仅传输原二进制文件。

2、没有过度的分块编码

什么使HTTP服务更快?

1、重用已存在的持久连接,从而有更好的TCP表现。

2、流水线的支持使得从同一个服务器上请求多个文件更快。

3、自动的压缩机制使得传输的数据更少。

4、没有命令/应答机制最大限度的减少了往返时延。

总结:当然最终的结果会因具体的情况而异,但我想说的是,单次传输一个静态的文件,很难衡量两者的区别对单个的小文件来说,FTP传输更快,当传输多个文件时,HTTP更快。

原文链接OSChina.NET 编译

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:FTP 协议和 HTTP 协议的12点比较(文件上传/下载)
分享
评论(10)
最新评论
0

引用来自“吴迪”的评论

引用来自“蟋蟀哥哥”的评论

-.-很少用ftp了。。。要么是用sftp

@蟋蟀哥哥小菜不明白第6条,求解释下~

支持同时下载.比如两个css文件,浏览器可以同时下载.节省时间.
0

引用来自“蟋蟀哥哥”的评论

-.-很少用ftp了。。。要么是用sftp

@蟋蟀哥哥小菜不明白第6条,求解释下~
0
第6条是什么意思?求大牛解释一下:
“HTTP支持流水线,这就意味着客户端可以在上一个请求处理完之前,发出下一个请求,其结果就是多次请求数据之前省掉了部分服务器客户端往返时延。”
0
FTP的LIST列表的格式真的很蛋疼
0
ftp很难做后期前期处理。
0
安全通信三板斧嘛,ssh,sftp,https
0
嗯,现在一般都是SFTP和HTTP,或者一些第三方的高效文件传输协议。
0

引用来自“dd”的评论

引用来自“蟋蟀哥哥”的评论

-.-很少用ftp了。。。要么是用sftp

FTP确实好少了

国内用的不少.
0

引用来自“蟋蟀哥哥”的评论

-.-很少用ftp了。。。要么是用sftp

FTP确实好少了
0
-.-很少用ftp了。。。要么是用sftp
顶部