【问题标题】:What is the difference between in FTP and HTTP?FTP和HTTP有什么区别?
【发布时间】:2018-05-23 05:51:14
【问题描述】:

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

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

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

如果我错了,请纠正我。

谢谢

【问题讨论】:

    标签: http ftp file-transfer


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 您好 Akash,您只需定义什么是 FTP 和 HTTP。但我正在寻找我们应该使用 FTP 还是 HTTP 进行文件传输。 (是的,它们都是不安全的)。
    【解决方案2】:

    所以我认为 FTP 和 HTTP 几乎都在做同样的工作。

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

    那么使用 FTP 的确切好处是什么,而我可以使用 HTTP 做到这一点?

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

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

    【讨论】:

    • FTP 也有“隐式压缩”。无论如何 +1。
    • @MartinPrikryl:我不确定您指的是哪种 FTP 隐式压缩。在 HTTP 中,客户端可以指定它支持的压缩类型 (Accept-Encoding: gzip, deflate, br),然后服务器可以根据客户端的功能压缩请求的传输资源 (Content-Encoding: gzip)。我不知道 FTP 的任何此类机制,即客户端所能做的就是请求预压缩文件。
    • 是的!这就是我要找的。​​span>
    • 在 FTP 中,MODE C 与 HTTP 中的 Accept-Encoding: gzip 具有相同的效果 - 尽管可以说它不像 HTTP 那样被广泛支持。
    • @MartinPrikryl:感谢您指出这一点,但我认为模式 C 主要是理论而非现实。我不知道实际上支持这种模式 C 的任何系统(客户端、服务器)(与广泛实施的对 HTTP 压缩的支持相反),几乎所有系统都只支持流模式,甚至今天也不支持定义的块模式。这并不奇怪,因为这种“压缩”实际上只关心重复的数据,这些数据与 gzip 或类似的压缩率相差甚远。
    猜你喜欢
    • 2018-09-14
    • 2017-06-10
    • 2016-02-01
    • 1970-01-01
    • 2011-06-03
    • 2015-02-09
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多