localhost 端口是否有约定......这有关系吗?[关闭]

is there a convention for localhost ports ... does it matter? [closed]

提问人:webbyweb 提问时间:11/25/2020 更新时间:11/25/2020 访问量:1026

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

2年前关闭。

我很震惊,我在任何地方都找不到答案。或者我是瞎子。

但是,是否有约定将某些 localhost 端口号用于不同的语言/框架?还是任意选择的?

例如,我发现(通常)许多 javascript 应用程序将使用端口 3000,但 golang 应用程序将使用 8080。当然,这些应用程序将在不同的端口上运行,但这些端口通常是选择的。

这些港口是不是有一天是武断决定的,每个人都开始坚持使用它们?

Go 框架 localhost 端口 约定

评论

0赞 marco.m 11/25/2020
在任何 Unix 系统上查看。还要记住,TCP或UDP端口是一种纯粹的约定,它本身没有任何身份的加密保证....../etc/services
1赞 Nico Haase 11/30/2020
是的,有。为什么不看看 en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 呢?
0赞 webbyweb 12/8/2020
我找不到之前,谢谢@NicoHaase!

答:

7赞 Martin Tournoij 11/25/2020 #1

这些港口是不是有一天是武断决定的,每个人都开始坚持使用它们?

是的,他们差不多。对于低于 1024 的端口,您需要特殊权限(root 或在 Linux 上),因此这有点不方便(如果您以 root 身份运行,则存在安全风险,大多数应用程序不需要)。cap_net_bind_service

但除此之外:这并不重要。选择 8080 和 8000 是因为它高于 1024(因此您不需要任何特殊权限)并且易于记忆,因为标准 HTTP 端口是 80。

端口 3000 从何而来?我不知道。前端人员可能希望避免与 8000 或 8080 上的后端服务发生冲突,因此他们选择了一个新号码,任何高于 1024 但尚未广泛使用的数字都可以。

评论

0赞 webbyweb 11/26/2020
不知道为什么这个问题被关闭了,但你的回答非常感谢!
1赞 Martin Tournoij 11/26/2020
是的,欢迎来到 Stack Overflow @webbyweb 🤷 ♂️ 我认为这是一个非常合理的问题,但有时人们喜欢关闭合理的问题。就是这样,不要因此而气馁!