Menu
CoddyTech

本地主机

Coddy 使用终端进行网络通信 课程的第 12 课,共 47 课。

localhost 和它解析到的地址 127.0.0.1 都表示这台机器。发送到这里的请求不会经过网络,而是进入网络协议栈后直接返回。

这使它成为理想的学习场所,因为你可以同时扮演两端的角色:

python3 -m http.server 9106 &
sleep 1
curl -s http://localhost:9106/

这也是你在实际工作中会遇到的一个问题的根源。服务可以仅绑定到 localhost,这意味着它只接受来自本机的请求,并拒绝所有来自外部的请求。对于启动它的人来说,它运行得非常好,但其他人都看不到它。这就是“它在我的机器上能运行”的真正含义之一。

所以,当同事无法访问你的服务时,首先要问的问题之一是它正在监听哪个地址,而不只是哪个端口。

challenge icon

挑战

中等

在本机提供服务,并测量返回的数据。

  1. 创建 page.html,其中内容必须恰好是 local traffic only
  2. 在后台通过端口 9106 提供文件夹服务
  3. 使用名称 localhost 获取文件,并将响应传入 wc -c 统计字节数

文本有 18 个字符,加上 echo 添加的换行符,所以结果是:

19

请求不会离开这台机器,所以即使完全没有网络也能正常工作。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

使用终端进行网络通信中的所有课

自己练习: Terminal 在线编辑器