HTTP GET 请求中的端口号有什么用途?

HTTP GET 请求中的端口号有什么用途?

在HTTP GET消息中,有一个HOST字段:

主机。
服务器的域名(用于虚拟主机)以及服务器正在监听的 TCP 端口号。如果端口是所请求服务的标准端口,则可以省略端口号。

这个字段里有一个端口号,我知道端口号是在传输层的,那么HTTP GET 消息里的端口号是干什么用的呢?

答案1

它有多种用途,其中之一就是在代理中生成 URL。我可能已nginx在端口 80 上配置为负载平衡代理,而实际的 HTTP 服务器在端口 7790 上运行。如果 Web 服务器需要创建返回自身的绝对 URL,则它不能使用传输层信息,因为那只会给它提供内部网络信息。它需要查看 HTTP 标头以了解真正的客户端是什么以及它们如何访问服务器来生成 URL。

相关内容