TCP/IP连接总是建立在一个IP地址上(您可以将IP地址视为特定计算机的地址,尽管并非总是如此)和该地址上的一个特定(逻辑而非物理的)端口。
通常,一个端口被绑定到目标计算机上的特定进程或“服务”。一些端口号是标准化的,例如80用于http,25用于smtp等。由于这种标准化,您通常不需要在Web地址中输入端口号。
因此,如果您说类似于http://www.stackoverflow.com这样的话,部分“stackoverflow.com”将解析为一个IP地址(在我的情况下为64.34.119.12),因为我的浏览器知道标准,它会尝试连接到该地址上的端口80。因此,这与http://www.stackoverflow.com:80相同。
但是,并没有什么可以阻止进程在另一个端口(如12434、4711或8080)上监听http请求。通常(就像在您的情况下),这是为了调试目的而使用的,以免与已在同一台计算机上监听端口80的其他进程(如IIS)混淆。
2021年的注释:当我写这篇文章时,我使用端口80作为示例,因为即使OP没有指定协议,http也是那个时候常用的Web请求标准,而80是http的标准端口。现在,几乎所有东西都在https上运行,其标准端口是443。
bind()
将失败,并在不同平台上具有类似的语义。请注意,虽然可以在不同的接口上监听相同的端口(例如,如果你的接口具有IP地址192.168.1.123和127.0.0.1,则可以让不同的进程分别在192.168.1.123:80和127.0.0.1:80上监听而没有问题)。 - Piskvor left the buildinglocalhost/web
相当于 localhost:80/web
或者 127.0.0.1:80/web
localhost:8080/web
相当于 localhost:8080/web
或者 127.0.0.1:8080/web
localhost:8080
指的是你明确地指定了端口 8080。
http://localhost:8080/web
: localhost(主机名)是主机服务器的名称或IP地址,例如Glassfish、Tomcat。
8080(端口)是主机服务器监听请求的端口地址。
http://localhost/web
: localhost(主机名)是主机服务器的名称或IP地址,例如Glassfish、Tomcat。
主机服务器监听默认端口80。
http: //localhost:8080/web
这里:
http ://localhost/web
这里:
HTTP使用端口80,因此当您输入地址时,您的Internet浏览器会自动使用该端口 - 除非您指定另一个端口。现在,在计算机上运行Web服务器时,您需要以某种方式访问该服务器 - 并且由于端口80已经忙碌,因此您需要使用不同的端口才能成功连接到它。虽然任何开放的端口都可以使用,但通常这样的服务器配置为使用端口8080,因此在访问服务器时,您输入:
http://(协议) localhost(您的计算机) :8080(端口8080) /(指向服务器公共文件夹根目录的路径)