Deployment 为什么Web服务器将端口80用于实际应用程序?

Deployment 为什么Web服务器将端口80用于实际应用程序?,deployment,Deployment,只是好奇而已。使用Casini development server进行开发时,端口数是无限的。但是,生产服务器似乎特别重视端口80 这与技术要求、公约或两者有关吗?我在网上查过了,但到目前为止还没有找到明确的答复 谢谢你的帮助 许多服务都有这样的功能,例如,用户无需输入端口即可键入并获取网站。这不是技术要求;但是,使用不同的端口需要用户知道额外的信息,每次都必须将这些信息输入到URL中。这是一个惯例:您可以使用自己喜欢的任何端口。您可以查看RFC的演变,以了解该公约何时正式() 您可以在RFC

只是好奇而已。使用Casini development server进行开发时,端口数是无限的。但是,生产服务器似乎特别重视端口80

这与技术要求、公约或两者有关吗?我在网上查过了,但到目前为止还没有找到明确的答复


谢谢你的帮助

许多服务都有这样的功能,例如,用户无需输入端口即可键入并获取网站。这不是技术要求;但是,使用不同的端口需要用户知道额外的信息,每次都必须将这些信息输入到URL中。

这是一个惯例:您可以使用自己喜欢的任何端口。您可以查看RFC的演变,以了解该公约何时正式()


您可以在RFC1060()中看到它是ISO Internet协议:)

当您通过TCP/IP连接到服务器时,您可以指定连接到的特定端口。您没有连接到服务器,希望服务器猜测您想与哪个端口通话

所以,在大多数情况下,您告诉浏览器使用协议http,比如“”,然后浏览器使用分配给该协议的默认端口号(http)连接到服务器“example.com”。在本例中,端口为80。例如,如果指定“”,则浏览器会查找https的默认端口,然后连接到端口443

因此,如果您不想告诉每个用户为您的服务指定一些非默认端口(比如“”),那么最好使用默认端口

顺便说一句,有一种方法可以通过服务的协议名(通过在端口0询问服务主机的守护进程)获取服务侦听的端口号,但这种方法似乎很少使用(如果有的话)


另请参见其他答案:默认协议编号由

指定。在生产环境中,您的web服务器嵌入在服务器基础结构(防火墙、代理)中,以保护您免受来自internet的攻击。在这样的环境中,端口80通常对HTTP通信开放。如果使用此端口,则无需配置服务器基础结构。

实际上,最大端口号为65535。谢谢@you提供的精确信息。我可能想问您为什么将该限制固定为65535,但这是另一个主题。这是因为端口号是无符号16位数字,范围从0到65535。