【发布时间】:2018-05-23 05:51:14
【问题描述】:
HTTP 用于显示信息,也可用于将文件从一台主机传输到另一台主机。
FTP 用于将文件从一台主机传输到另一台主机。
所以我认为 FTP 和 HTTP 几乎都在做同样的工作。那么使用 FTP 的确切好处是什么,而我可以使用 HTTP 做到这一点?
如果我错了,请纠正我。
谢谢
【问题讨论】:
标签: http ftp file-transfer
HTTP 用于显示信息,也可用于将文件从一台主机传输到另一台主机。
FTP 用于将文件从一台主机传输到另一台主机。
所以我认为 FTP 和 HTTP 几乎都在做同样的工作。那么使用 FTP 的确切好处是什么,而我可以使用 HTTP 做到这一点?
如果我错了,请纠正我。
谢谢
【问题讨论】:
标签: http ftp file-transfer
FTP 是一种文件传输协议,用于传输文件。
FTP 明显较旧,它是一种旨在通过长时间运行的会话传输文件的协议。有各种各样的命令,目的是允许您导航和浏览远程文件系统并检索文件(最初通过单独的数据连接)。
FTP 仍然有很多用途,但实际上许多文件是通过 HTTP 传输的。
HTTP 超文本传输协议最初设计用于传输超文本文档和渲染它们所需的各种资产。在实践中,这就是信息在网络上传输的方式——html、css、图像、数据都在网络服务器和网络浏览器之间传输,以及在一台服务器和另一台服务器之间以这种方式传输。
HTTP 旨在从可能与远程文件系统匹配或不匹配的 URL 检索资源(在许多 Web 应用程序中,URL 的结构与文件位置几乎没有关系)。单个http连接中往往只有一个请求,并且数据使用与请求相同的连接。
【讨论】:
所以我认为 FTP 和 HTTP 几乎都在做同样的工作。
不是真的。 FTP 可用于文件传输,仅此而已。 HTTP 更加灵活,因为它不仅传输字节流,还传输元数据(这是什么类型的数据),支持隐式压缩,客户端特定响应(如基于支持的语言),具有更灵活的身份验证方式,针对更少的开销(即可以更快)...
那么使用 FTP 的确切好处是什么,而我可以使用 HTTP 做到这一点?
现在 FTP 并没有真正的好处。相反,与 HTTP 等替代方案相比,FTP 的设计在当今大量使用 NAT 的基础设施(即具有公共 IP 地址的单个路由器后面的多个内部系统)中导致了许多问题。
FTP 主要存在于客户端或服务器不支持更现代的文件交换方式的地方。一个典型的例子是廉价的网络托管,其中访问服务器以更新文件通常由 FTP 完成,因为许多工具都内置了 FTP,而且在服务器上也很容易设置。 WebDAV(基于 HTTP)或 SFTP(基于 SSH)等替代方案在这里使用较少,因为它们在客户端和服务器中的支持较少,尽管它们会提供更高的安全性、更大的灵活性和更少的问题。
【讨论】:
Accept-Encoding: gzip, deflate, br),然后服务器可以根据客户端的功能压缩请求的传输资源 (Content-Encoding: gzip)。我不知道 FTP 的任何此类机制,即客户端所能做的就是请求预压缩文件。
MODE C 与 HTTP 中的 Accept-Encoding: gzip 具有相同的效果 - 尽管可以说它不像 HTTP 那样被广泛支持。