node.js服务器可以被命名为目录位置吗?
答
的服务器(任何一种)仅在URL中的域名和端口命名 - 它根本没有被路径命名。浏览器解析URL,获取域和端口,在DNS中查找该域以获取IP地址,然后与该特定IP地址和端口建立TCP连接。所以,在你的榜样,这将是:
https://example.com:port
或
https://example.com
其中后者才用80只URL的那些部分的默认端口指定该浏览器将连接服务器至。然后将路径发送到该服务器,然后服务器可以在接收到请求时决定该路径要做什么。
这就是说,有服务器端工具可以使用,将处理在上述服务器的请求,看看路径,然后转发请求到不同的服务器/端口。这通常被称为代理服务器。因此,例如,您可以运行nginx(一种预先构建的可配置代理),通过它可以配置您希望请求https://example.com/name/
转到某个其他主机(您可以将其配置为某个其他IP地址和端口)。
浏览器将连接到example.com
(这是您的代理)并发送http请求/name
。代理将收到该请求,查看路径,查看它是否配置为将该请求转发给其他主机,然后连接到该另一主机,将请求发送给它,获取响应,然后将响应返回给浏览器。浏览器不一定知道这个“转发”是在幕后进行的。它提出请求并获得答案。
在第二种情况下,它只是在默认端口(端口80)上运行。您可能需要提高特权才能在端口80上运行服务器,但没有比这更神奇的了。 – Frxstrem