🏠

🌐 域名和链接是怎么工作的

分别深入理解域名系统和链接结构

👨‍🏫 讲师:乌鸦哥

📋 今天的学习内容

  • 🌐 第一部分:域名系统
  • 🔗 第二部分:链接结构

🌐 第一部分

域名系统

🤔 什么是域名?为什么需要域名?

🆔 网站的身份证号码

🌐 每个网站都有一个真正的"身份证号码"

📍 这个号码叫做IP地址

🔢 比如:192.168.1.1

🤯 IP地址太难记了!

  • 🛒 淘宝:140.205.94.189
  • 🛍️ 京东:106.39.171.130
  • 🔍 百度:39.156.66.10

😵‍💫 能记住吗?肯定记不住对吧!

💡 就像记朋友的身份证号码一样困难

💡 聪明的解决方案

🧠 工程师们发明了域名系统

✨ 用简单好记的名字来访问网站

  • 🛒 taobao.com
  • 🛍️ jd.com
  • 🔍 baidu.com

🏷️ 就像给每个网站起了好听的名字!

🏗️ 域名的结构

🌐 域名示例

🏷️ 域名:www.taobao.com

🏠 域名的层级结构

🌐 www.taobao.com 拆分:

  • 🌍 www:子域名(网站主页)
  • 🏢 taobao:主域名(核心名称)
  • 🏷️ com:顶级域名(商业网站)

📍 就像地址系统

🇨🇳 中国.北京市.朝阳区.某某街道.某某小区.某栋楼.某个房间号


🌐 域名也是层级结构

➡️ 从右到左,范围越来越小,越来越具体

🗂️ 域名翻译服务器(DNS)

❓ 电脑怎么找到网站?

🤔 当你输入 www.taobao.com

💻 电脑怎么知道要去找哪个IP地址呢?

👨‍💼 需要一个翻译官

🌐 这个翻译官叫做 DNS

📞 DNS就像一个巨大的电话簿

📋 里面记录着每个域名对应的IP地址

📖 DNS电话簿示例

  • 🛒 www.taobao.com → 140.205.94.189
  • 🛍️ www.jd.com → 106.39.171.130
  • 🔍 www.baidu.com → 39.156.66.10

🔍 DNS查询的完整过程

👥 生动的比喻

🎭 假设你要去找一个朋友

🏷️ 但你只知道他的名字

❓ 不知道他的具体地址

🤔 你会怎么办呢?

🎯 步骤1:问本地的"熟人"

🧠 电脑首先问自己的"记忆"(本地DNS缓存)

❓ "我之前有没有查过这个网站的地址?"

⚡ 如果最近查过,直接用之前记住的地址

🚀 这样最快!

🎯 步骤2:问"小区管理员"

📡 如果本地没有记录

📞 电脑问网络服务商的DNS服务器

  • 📱 中国电信
  • 📶 中国移动
  • 🌐 中国联通

❓ "你知道 www.taobao.com 在哪里吗?"

🎯 步骤3:问"区政府"

🔄 如果网络服务商也不知道

🏛️ 它就会去问更高级的DNS服务器

📋 这个过程是层层递进的

🔍 详细查询流程

  1. ❓ 问根域名服务器:"谁管理.com域名?"
  2. 👉 根服务器回答:"去问.com管理服务器"
  3. ❓ 问.com服务器:"谁管理taobao.com?"
  4. 👉 回答:"去问淘宝公司的DNS服务器"
  5. ❓ 问淘宝DNS:"www.taobao.com的IP是?"
  6. ✅ 淘宝服务器回答:"是140.205.94.189"

🎯 步骤4:记住答案

📝 拿到IP地址后

🧠 电脑会把这个信息记住一段时间

⚡ 下次访问同一个网站就不用再问一遍了

🎯 这样提高访问速度!

🤔 为什么需要这么复杂的系统?

🎯 原因1:规模太大了

🌍 全世界有几十亿个网站

📚 如果都放在一个"电话簿"里

😵‍💫 会大得无法想象

🐌 查询速度会非常慢

🎯 原因2:管理权限

🏢 每个公司都应该有权管理自己的域名

🛒 比如淘宝公司应该能够决定

📍 www.taobao.com 指向哪个服务器

🙅‍♂️ 而不需要去求别人

🎯 原因3:可靠性

⚠️ 如果只有一个中央服务器

💥 一旦它出故障

🌍 全世界的网站都访问不了了

🛡️ 分布式的系统更安全可靠

🎯 原因4:速度优化

🌍 在世界各地部署DNS服务器

📍 让用户就近查询

🚀 提高访问速度

📋 域名部分总结

🌐 域名系统 = 互联网的电话簿

📞 让我们用简单好记的名字访问网站

🚫 而不需要记住复杂的IP地址

🎯 系统设计很巧妙

  • 🏗️ 分层管理,各司其职
  • 🌍 分布式部署,提高可靠性
  • 🧠 缓存机制,提升访问速度
  • ⚙️ 灵活配置,便于管理

🔗 第二部分

链接结构

🔍 完整链接的拆解

📄 完整链接示例

🔗 https://www.taobao.com/shoes?size=xl

🧩 链接的三个组成部分

  • 🌐 域名:www.taobao.com
  • 📂 路径:/shoes
  • 🔍 参数:?size=xl

📂 路径:准确定位内容

🤔 为什么需要路径?

📚 一个网站有那么多页面

🎯 你得说清楚要看哪个页面的内容

📂 路径示例

  • 👠 www.taobao.com/shoes → 鞋子页面
  • 👕 www.taobao.com/cloth → 衣服页面
  • 📱 www.taobao.com/phones → 手机页面

📁 多层路径

📂 如果内容特别多,后面可以加无数层

👠 www.taobao.com/shoes/nike/women

  • 👠 shoes - 鞋子分类
  • ✔️ nike - 耐克品牌
  • 👩 women - 女款

📈 不怕不够用,可以无限嵌套!

❓ 参数:筛选和过滤内容

🔍 参数的作用

🔗 www.taobao.com/shoes?size=xl


🎯 想直接看特定尺码的鞋子

📏 size=xl 表示尺码等于XL

❓ 参数的标识

  • ? - 告诉你接下来是参数了
  • 📏 size=xl - 具体的筛选条件

🚫 "?" 之后就不是路径了,而是参数!

🔢 多个参数

🔗 www.taobao.com/shoes?size=xl&color=red&brand=nike

  • 📏 size=xl - 尺码XL
  • 🔴 color=red - 红色
  • ✔️ brand=nike - 耐克品牌

🔗 用 & 连接多个参数

⭐ 参数很重要

💡 这个用法很重要,后面会经常用到!

🎯 特别是在做搜索、筛选功能时

🔄 从输入链接到看到网页

🎯 阶段1:域名解析

  1. ⌨️ 你输入完整链接
  2. 🌐 浏览器提取域名部分
  3. ❓ 通过DNS查询IP地址
  4. ✅ 获得服务器的真实地址

🎯 阶段2:发送请求

  1. 📤 浏览器向服务器发送请求
  2. 📂 请求中包含路径信息
  3. 🔍 请求中包含参数信息
  4. 💬 "我要这个页面的这些内容"

🎯 阶段3:获取内容

  1. 🔍 服务器根据路径找到对应页面
  2. 📊 服务器根据参数筛选数据
  3. 📦 服务器发送HTML、CSS、图片等文件
  4. 🏗️ 浏览器组装成你看到的网页

💻 对编程学习的意义

🚀 作为全栈程序员需要知道

  • 🌐 域名配置 - 买域名,配置DNS
  • 🗂️ 路由设计 - 设计网站的路径结构
  • 🔍 参数处理 - 处理用户的筛选条件
  • 性能优化 - 使用CDN加速

📋 总结

🔗 链接的三部分

  1. 🌐 域名 - 找到服务器(通过DNS翻译)
  2. 📂 路径 - 定位具体页面内容
  3. 🔍 参数 - 筛选和过滤数据

🎯 各部分的作用

  • 🌐 域名 → 会被翻译为IP地址
  • 📂 路径 → 用来准确定位内容
  • 🔍 参数 → 一般用来筛选内容

✨ 精妙的设计

🌍 这个设计保证互联网上任何角落的内容

🎯 都可以被一个链接精确找到!

🏆 真的很棒,不是吗?

🎉 谢谢大家!

🏆 现在你们都理解域名和链接系统了!

🌐 下节课学习前端是怎么工作的

❓ 有问题随时提问!