FTP 和 HTTP 有什么区别?

What is the difference between in FTP and HTTP?

HTTP 用于显示信息,也可用于将文件从一台主机传输到另一台主机。

FTP用于将文件从一台主机传输到另一台主机。

所以我得出的结论是 FTP 和 HTTP 几乎都在做同样的工作。那么使用 FTP 的确切好处是什么,而我可以使用 HTTP 做到这一点?

如有错误请指正

谢谢

FTP是文件传输协议,用于传输文件。

FTP 明显更老,它是一种协议,旨在通过长时间 运行 会话实现文件传输。有各种各样的命令,目的是让您导航和浏览远程文件系统并检索文件(最初是通过单独的数据连接)。

FTP 仍然有很多用处,但许多文件实际上是通过 HTTP 传输的。

HTTP 超文本传输​​协议最初设计用于传输超文本文档和呈现它们所需的各种资产。实际上,这就是网络上信息传输的方式——html、css、图像、数据都是在网络服务器和网络浏览器之间,以及一个服务器和另一个服务器之间以这种方式传输的.

HTTP 旨在从 URL 中检索可能与远程文件系统匹配或不匹配的资源(在许多网络应用程序中,URL 的结构几乎没有关系与文件位置)。一个http连接往往只有一个请求,数据使用与请求相同的连接。

So I come to this point that FTP and HTTP both are almost doing the same work.

不是真的。 FTP 可用于文件传输,仅此而已。 HTTP 更加灵活,因为它不仅传输字节流,还传输元数据(这是什么类型的数据),支持隐式压缩,客户端特定响应(例如基于支持的语言),具有更灵活的身份验证方式,针对更少的开销(即可以更快)...

Then what is the exact benefit of using FTP while I can do this with the HTTP?

今天 FTP 没有真正的好处。相反,与 HTTP 等替代方案相比,FTP 的设计在当今大量使用 NAT 的基础架构中导致了许多问题(即在具有 public IP 地址的单个路由器后面的多个内部系统)。

FTP 主要保留在客户端或服务器不支持更现代的文件交换方式的地方。一个典型的例子是廉价的网络托管,其中访问服务器以更新文件通常由 FTP 完成,因为许多工具都内置了 FTP,并且在服务器上也很容易设置。 WebDAV(基于 HTTP)或 SFTP(基于 SSH)等替代方案在这里较少使用,因为它们在客户端和服务器中的支持较少,尽管它们会提供更多的安全性和更多的灵活性以及更少的问题。