在 IIS 中,为什么 HTTP 请求使用主机头,而 FTP 请求却不使用

在 IIS 中,为什么 HTTP 请求使用主机头,而 FTP 请求却不使用

所以....

在 IIS 中,如果使用内置 FTP,则需要在 FTP 中合并 FTP 主机头用户名例如 www.hello.com|域名/用户名

因此,FTP 程序从用户名获取“钩子”。但是,您可以通过 FTP 端口使用 www.hello.com:21 连接到 FTP 站点。

那么,为什么 FTP 服务不以与 HTTP 服务相同的方式工作呢?

毕竟,IIS 根据主机头知道要为哪个站点提供返回服务……

谢谢!

答案1

虚拟主机是 HTTP 协议中内置的功能(自 HTTP 1.1 版起)。

您可能知道,虚拟主机允许 HTTP 服务器将同一 IP 和端口上的不同请求重定向到不同的目录或 Web 应用程序。您的浏览器实际上会随文档请求一起发送它尝试连接的网站的名称。

大多数互联网协议不以这种方式工作。如果您想要提供不同的服务,通常需要单独的 IP 地址或端口号。此外,由于您刚刚连接到服务器,因此服务器通常希望您知道它的名称。

因此,FTP 协议不支持虚拟主机,因为 FTP 客户端不会明确告诉服务器它们试图访问哪个站点。这可能令人惊讶,但 HTTPS 中使用的 SSL 协议也不支持虚拟主机 - 您需要为安装的每个不同的 SSL 证书使用单独的 IP 地址(或端口)。

相关内容