我可以在 FTP URL 上发送 HTTP headers 吗?

Can I send HTTP headers on an FTP URL?

是否可以在 ftp:// URL 上发送 HTTP headers?我该怎么做?

我想要的是基于 HTTP 的爬虫看到 HTML 响应(在 headers 中),而人类用户看到纯 FTP 内容。

解决这个问题最聪明的方法是什么?我考虑过用户代理特定的重定向,但这似乎违反了大多数搜索引擎的指南。

我想要的是让机器人索引内容的 HTTP 版本,而普通用户可以访问 FTP 版本,同时使用单个 ftp:// URL.

这可行吗?

这是不可行的。

您不能将 ftp:// URL 重定向到 http:// URL。 FTP 协议没有重定向。 FTP 协议甚至不知道 URL 是什么。 Web 浏览器(作为 FTP 客户端)也不会发送 "user agent" 或任何类似于 FTP 服务器的内容。

FTP 协议中也没有 headers(但与上述事实相比,这只是技术问题)。

FTP 协议与 HTTP 完全不同。


您显然对 Web 浏览器(所有浏览器)以与 HTTP 资源相同的方式呈现 FTP 资源感到困惑。但这只是浏览器的 "game"。他们一点都不相似。

请注意,FTP 的发明远早于 Internet、HTTP、Web 和 URLs


不过请注意,您也可以反过来做。您应该能够将 HTTP 重定向到 FTP.

但我仍然认为这不是个好主意。如果客户端需要 FTP,他们可能希望使用真正的 FTP 客户端,而不是 Web 浏览器。真正的 FTP 客户端不会理解 HTTP(重定向)。


不过这个问题有点意义不大,反正现在各大浏览器都在逐渐removing a support for FTP