好奇的。使用Casini开发服务器进行开发时,可以使用无限数量的端口。但是,生产服务器似乎特别重视端口80 。
是否与技术要求,惯例或两者有关?我已经检查了网络,但到目前为止还没有找到明确的答案。
感谢您的帮助。
答案 0 :(得分:7)
许多服务都有specifically-assigned ports这允许用户键入,例如http://stackoverflow.com并获取SO的网站,而无需输入端口。这不是技术要求;但是,使用不同的端口需要用户知道额外的信息,每次都必须输入到URL中。
答案 1 :(得分:2)
这是一个惯例:你可以使用你想要的任何端口。您可以查看RFC的演变,以了解约定何时正式(http://www.faqs.org/rfcs/rfc1700.html)
您可以在RFC 1060(http://www.faqs.org/rfcs/rfc1060.html)中看到它是ISO Internet协议:)
答案 2 :(得分:2)
通过TCP / IP连接到服务器时,指定要连接的特定端口。您没有连接到服务器,并希望服务器猜测您想要与哪个端口通信。
因此,在大多数情况下,您告诉浏览器使用协议http,例如“http://example.com/”,然后浏览器使用分配给该协议(http)的默认端口号连接到服务器“example.com”。在这种情况下,端口为80.例如,如果您指定“https://example.com/”,则浏览器会查找https的默认端口,然后连接到端口443。
因此,如果您不想告诉每个用户为您的服务指定一些非默认端口(例如“http://example.com:60765/”),最好使用默认端口。
BTW 是通过它的协议名称(通过在端口0询问服务主机的守护程序)来获取服务侦听的端口号的方法,但这种方法似乎很少使用(如果有的话) )。
另请参阅其他答案:默认协议编号由IANA
指定答案 3 :(得分:1)
在生产环境中,您的Web服务器嵌入在服务器基础结构(防火墙,代理)中,可以保护您免受来自Internet的攻击。在这样的环境中,端口80通常对HTTP流量开放。如果使用此端口,则无需配置服务器基础结构。