当我在没有指定端口的情况下在浏览器中转到 localhost 时会发生什么?

What happens when I go to localhost in a browser without specifying a port?

我了解指定端口时会发生什么。但是当我不这样做时会发生什么?这对我来说毫无意义,因为在进行开发时,我的本地 grails 服务器从 localhost 接收请求而没有任何端口指定,尽管它应该在端口 8080 上。

那么当您在没有端口的浏览器中直接进入 localhost 时会发生什么?什么控制请求的去向?

如果您不指定协议,它将假定为 HTTP。 本标准定义 URI:https://www.rfc-editor.org/rfc/rfc3986

如果您不指定端口,则假定为 80 端口。

如果没有服务器监听80端口,浏览器在尝试建立TCP连接(HTTP层以下)时会收到一个TCP层的RST。您将看到类似“连接被拒绝”的消息。