在浏览器输入localhost:8765时,为什么同一台机器上的 Python 服务能打开页面,而把地址换成局域网 IP 或域名后,结果可能完全不同?读完后,你可以区分名称解析、主机地址和进程端口,检查localhost实际解析到哪里,并用命令确认服务究竟监听在哪个地址与端口。文章目录从 localhost:8765 到页面响应核心概念与工作机制最小示例验证结果常见误区与适用边界总结从 localhost:8765 到页面响应访问http://127.0.0.1:8765/时,浏览器或curl会向本机 IPv4 回环地址的 8765 端口发起 HTTP 请求。若该端口上有 Web 服务进程监听,服务会返回状态码、响应头和页面内容。访问http://localhost:8765/时,localhost不是端口,也不是固定的一种 IP 写法;它首先需要经过本机的名称解析。常见系统会把它解析为127.0.0.1、::1,或同时返回这两个地址。因此,页面能否打开还取决于服务监听的是 IPv4、IPv6,还是两者兼有。可以把一次访问拆成三个可观察对象:地址栏中的主机名或 IP、操作系统解析或选择的目标地址、服务进程实际占用的端口。三者任意一项不匹配,都可能导致连接失败。核心概念与工作机制关键术语域名是便于人记忆和管理的名称,例如example.com;DNS 是将域名解析为 IP 地址的分布式命名系统。域名本身不是服务器,也不等同于某一个永远不变的 IP。IP 地址用于在网络中定位某个网络接口。127.0.0.1是 IPv4 回环地址,只表示当前这台机器;::1是 IPv6 回环地址。局域网地址如192.168.1