网站首页 > 问答经验 正文
文件传输协议(英文:FileTransferProtocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。文件传送(file transfer)和文件访问(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。
FTP是文件传输协议
它是TCP / IP协议套件中的协议之一。 FTP协议包括两个组件,一个是FTP服务器,另一个是FTP客户端。
FTP服务器用于存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。开发网站时,FTP协议通常用于将网页或程序传输到Web服务器。另外,由于FTP传输效率很高,因此在网络上传输大文件时通常使用此协议。
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
以下列出了http协议和ftp协议的不同点:
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没有这个概念。
猜你喜欢
- 2026-01-20 win8个小时win7哪个好用(win8.1和win7哪个更吃配置)
- 2026-01-20 thinkpad电脑型号一览表(thinkpad产品型号)
- 2026-01-20 联想有哪些系列电脑(联想有哪些系列电脑型号)
- 2026-01-20 手机迅雷怎么跳过违规(手机迅雷怎么跳过版权限制)
- 2026-01-20 常用的磁盘分区软件(常用硬盘分区软件)
- 2026-01-20 联想笔记本选购攻略(联想笔记本如何选购)
- 2026-01-19 centos7安装图形化界面(centos7.2安装图形界面)
- 2026-01-19 ftp协议(ftp协议的作用)
- 2026-01-19 联想办公笔记本电脑哪一款比较好
- 2026-01-19 重装系统ghost怎么选(ghost装机怎么选)
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
