📄 一句话概括
在浏览器输入的网址(URL)不只是一串字——开头的协议名决定了浏览器走哪套工序,探索之旅从把 URL 翻译成请求开始。
📝 本节和前面几节的关系
本篇是全书出发站:先弄清【输入的东西到底是什么】,后面的每一站(解析 URL、查 IP、发请求)都从这一步长出来。
一、网址背后是一场全程接力
浏览器不是只有【看网页】一个技能——它是一台综合客户端: 网址开头写什么协议,它就干哪一行。
二、同一个地址栏,不同的活
以 http 开头,走 Web 访问;以 ftp 开头,去下载文件; 以 mailto 开头,干脆叫起邮件软件——地址栏像总服务台, 接待员看一眼单子开头的字,就知道该叫哪个窗口。
三、本课的路线图就是这条路
本课追踪的是 http 这条线:URL 被解析 → 查出服务器 IP → 生成请求消息 → 经协议栈、网卡出门 → 一路穿过互联网 → 服务器作答 → 原路返回 → 画到屏幕上。
四、动手 Demo:把一个网址拆开看
跑一个小脚本,把一条 URL 的三块拆出来:
url = 'http://www.lab.glb.com/dir1/file1.html'
scheme, _, rest = url.partition('://')
host, _, path = rest.partition('/')
print('协议 =', scheme)
print('服务器名 =', host)
print('路径 = /' + path)
实跑输出:
--------------------------------------------------------------------
把一个网址拆开看
--------------------------------------------------------------------
输入一个最普通的网址,按斜杠和点切块:
块 内容 谁用
-----------------------------------------------------
协议 http 浏览器选工序
服务器名 www.lab.glb.com 接下来查 IP 的对象
路径 /dir1/file1.html 要取的具体文件
-----------------------------------------------------
完整写法 http://www.lab.glb.com/dir1/file1.html 中,
http: 后面的 // 只是固定记号——协议名决定了浏览器走哪套工序:
开头是 浏览器走哪套
http 访问 Web 服务器
ftp 下载(上传)文件
mailto 调邮件软件
-----------------------------------------------------
协议名在最前——浏览器的第一件事就是看它选工序, 剩下的两块(服务器名、路径)各有下文:1.1.2 细讲解析,1.1.5 讲怎么变成请求。
30 秒实验
- 在地址栏分别输入 http:// 和 ftp:// 开头的地址,看浏览器反应有什么不同。
- 把一条网址里的服务器名改成不存在的名字,看报错出现在哪一步。
- 数一数一条普通网址里斜杠的数量——每条斜杠都是一层目录。
常见误区
- 以为浏览器只会看网页——它还会下载、发邮件,看协议名办事。
- 以为网址只是【一串字】——它是有结构的:协议、服务器、路径三块。
自测三问(点开对答案)
1. 浏览器判断该走哪套工序,看 URL 的哪一部分? —— 开头的协议名(http、ftp、mailto 等)。 2. mailto: 开头的网址交给谁处理? —— 浏览器调起邮件软件,自己不直接处理邮件内容。 3. 本课追踪的是哪条路线? —— http:从解析 URL 一路到网页显示的全过程。- ☐ 下一节(1.1.2 浏览器先要解析URL)
相关笔记
- 什么是URL —— 那课讲 URL 的七块结构,这里开拆
- 是谁在负责收发数据(应用程序、P2P应用) —— 应用程序是谁、在哪
- 🔌 网络是怎样连接的 · 索引