端口是什么
Coddy 使用终端进行网络通信 课程的第 10 课,共 47 课。
地址会将你的请求发送到正确的机器。但一台机器可能同时运行网站、数据库和邮件服务器。必须有某种方式说明请求是发给其中哪一个的。
这就是端口:一个从 1 到 65535 的数字,用来选择程序。地址是大楼,端口是门。
在 URL 中,端口跟在冒号后面:
curl -s http://127.0.0.1:9104/hello.txt
# ^^^^ 端口地址和端口组合在一起,可以标识一次通信的一端,这一对称为套接字。当你听到服务器“在 9104 上打开了一个套接字”时,指的正是这种组合。
同一台机器上的两个程序不能同时监听同一个端口,这就是每个开发者最终都会遇到的错误的原因:地址已在使用中。
挑战
困难通过在一台机器上运行两个服务器,证明端口会选择程序。
- 创建两个文件夹,
a和b - 在每个文件夹中放入一个文件
i.txt:在a中放入AAA,在b中放入BBB - 让
a在端口 9104 上提供服务,让b在端口 9105 上提供服务 - 从每个端口获取
i.txt,先访问 9104
地址相同,文件名相同,入口不同:
AAA
BBB
(cd a && python3 -m http.server 9104 &)会为一个文件夹启动服务器,同时不会更改你当前所在的文件夹。
亲手试试
终端
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
使用终端进行网络通信中的所有课
自己练习: Terminal 在线编辑器