科普向host和port(感谢千问

Host和Port到底是啥?用快递收货的例子一次讲透

刚学网络编程的同学,配置服务器的时候一定见过这样的东西:192.168.1.100:8080,前面一截是host,后面一截是port,中间用冒号隔开。但你大概率只记得"照着填就行",从来没搞明白它俩到底各自是干嘛的。今天我们就用最直白的例子把这两个概念讲透。

先搞懂本质:host是"地址",port是"房间号"

想象你要给一个朋友寄快递,你需要知道两件事:

  1. 寄到哪栋楼:比如"武汉市洪山区珞喻路1037号",这就是host(主机地址)。如果快递送错了楼,后面一切都白搭。
  2. 送到哪个房间:比如"3栋502室",这就是port(端口号)。楼没送错,但房间搞错了,快递也到不了正确的人手里。

host解决的是"找到哪台电脑"的问题,port解决的是"找到这台电脑上的哪个程序"的问题。两个信息缺一不可,就像寄快递只写楼号不写房间号,或者只写房间号不写楼号,快递都送不到。

Host:你到底要找"哪台电脑"

host就是网络上一台设备的地址标识,常见的有三种写法:

  • IP地址 :比如192.168.1.100,这是电脑在网络里的"门牌号",每台联网的设备都有一个唯一的IP地址,就像每栋楼都有一个唯一的地址一样。
  • 域名 :比如www.baidu.com,这是给人看的"楼名",比一串数字好记。域名最终会被DNS(相当于查号台)翻译成IP地址,系统拿到IP地址后才能找到对应的电脑。
  • localhost:翻译过来就是"本地主机",指的就是你自己这台电脑,相当于"我住的这栋楼"。

举个实际的例子:你在浏览器里输入www.bilibili.com,系统先去问DNS"bilibili的IP是多少",拿到IP地址后,再往那台服务器发请求,这就是host发挥作用的过程。

Port:你到底要找"哪个程序"

一台电脑不是只跑一个程序,你的电脑可能同时开着浏览器、微信、QQ音乐、下载工具,服务器上可能同时跑着网站服务、数据库服务、邮件服务。当网络数据到达这台电脑后,系统怎么知道这条数据该交给哪个程序处理?靠的就是port。

还是用快递的例子:一栋大楼有个快递收发室,所有快递都先送到收发室,收发室根据房间号(port)把快递分发到对应的房间(程序)。

port是一个0~65535之间的数字,其中有一些是"约定俗成"的固定房间号,就像一栋楼里1楼永远是前台、2楼永远是物业一样:

表格

下载为表格

导出为图片

端口号 对应的服务 通俗理解
80 HTTP网页服务 "网站专用房间",浏览器访问网页默认敲这个门
443 HTTPS加密网页服务 "加密版网站专用房间",带小锁的网址走这里
22 SSH远程连接 "远程操控专用房间",程序员远程登录服务器走这里
3306 MySQL数据库 "数据库专用房间"
8080 常用的备用Web服务 "网站备用房间",80被占了就用这个
3000/5000 开发常用的本地服务 "开发测试专用房间",前端/后端项目默认端口

你在浏览器里输入www.baidu.com,其实系统自动帮你补全成了www.baidu.com:80,因为访问网页默认就是敲80号房间的门,所以不用你手动写。同理,你输入www.baidu.com:443就是走加密通道。

组合起来看:host:port到底在说什么

现在回头看192.168.1.100:8080,它的意思就非常清楚了:

找到IP为192.168.1.100的那台电脑(host),然后敲8080号房间的门(port),找到运行在那个端口上的程序。

再举几个你日常能碰到的例子:

  • 浏览器地址栏的https://www.taobao.com,其实是www.taobao.com:443的简写
  • 你本地跑了一个前端项目,终端显示Local: http://localhost:3000,意思就是"打开你自己电脑的3000号房间,就能看到页面了"
  • 你用Xshell连服务器,要填的"主机"就是服务器的IP(host),"端口"默认填22(SSH服务的port)
新手常踩的3个坑
  1. 访问本地项目,用别人的IP访问不了localhost只能在自己电脑上用,相当于"这栋楼的内部房间号",别人从外面是找不到你这栋楼的这个房间的。要让别人访问,得用你电脑的局域网IP(比如在命令行输ipconfig查到的那个地址)。
  2. 端口被占用:你启动项目时报错"Port 3000 is already in use",意思就是3000号房间已经有人住了(另一个程序正在用这个端口),你要么把占用端口的程序关掉,要么换个端口启动。
  3. 端口和IP搞混:IP是"哪台电脑",端口是"哪个程序",两个是完全不同层级的概念。一台电脑(一个IP)可以同时开很多端口,就像一栋楼里有很多房间一样。
一句话总结

host告诉你"去哪台电脑",port告诉你"找那台电脑上的哪个程序",两个拼在一起才能精确找到你要访问的服务,就像寄快递必须同时写清地址和房间号一样,缺一不可。

相关推荐
玫幽倩2 小时前
2025MoeCTF(Pwn全)
网络·安全·pwn·ctf·新生赛·二进程·moectf
rcms152702692182 小时前
Novellus 27-033321-00 涡轮分子泵
网络
薛定e的猫咪3 小时前
(IEEE Transactions 2025)自适应元强化学习动态柔性作业车间调度框架
网络·人工智能·算法
tachibana23 小时前
如何设计多 Agent 的协作与动态切换机制?
网络·人工智能·ai·大模型·llm·agent
隔窗听雨眠3 小时前
大模型实时通信协议深度对比:SSE、WebSocket与gRPC的选型指南与实战解析
网络·websocket·网络协议
啊阿狸不会拉杆3 小时前
《计算机网络-自顶向下方法》1.3 网络核心 读书笔记
网络·人工智能·计算机网络·ai·php
zbtlink3 小时前
上行带宽瓶颈的诊断、SQM 调度与双链路上行实战
网络·智能路由器
TYA_Saras4 小时前
iPerf3打流带宽不足解决方案
网络
liulilittle5 小时前
REALITY 代理隧道的有效检测方法: 被动、主动与确定性三层实证研究
linux·服务器·网络·网络协议·安全·网络安全·通信