【发布时间】:2018-03-04 13:07:55
【问题描述】:
【问题讨论】:
-
在第二种情况下,它只是在默认端口(端口 80)上运行。您可能需要提升权限才能在端口 80 上运行服务器,但没有什么比这更神奇的了。
标签: node.js server directory port
【问题讨论】:
标签: node.js server directory port
服务器(任何类型)仅由 URL 中的域和端口命名 - 它根本不由路径命名。浏览器解析 URL,获取域和端口,在 DNS 中查找该域以获取 IP 地址,然后与该特定 IP 地址和端口建立 TCP 连接。因此,在您的示例中,这将是:
https://example.com:port
或
https://example.com
后者只使用默认端口 80。只有 URL 的那些部分指定浏览器将连接到的服务器。然后将路径发送到该服务器,然后服务器可以在收到请求时决定要对该路径执行什么操作。
也就是说,您可以使用一些服务器端工具来处理上述服务器上的请求,查看路径,然后将该请求转发到不同的服务器/端口。这通常称为代理服务器。因此,例如,您可以运行 nginx(一个预构建的、可配置的代理),它可以让您配置您希望对 https://example.com/name/ 的请求转到其他主机(您可以将其配置为其他 IP 地址和端口)。
浏览器将连接到example.com(这是您的代理)并发送对/name 的http 请求。代理将接收该请求,查看路径,看到它配置为将该请求转发到不同的主机,然后连接到该其他主机,将请求发送给它,获取响应,然后将响应返回给浏览器。浏览器不一定知道这种“转发”是在幕后进行的。它提出请求并得到答复。
【讨论】: