当前位置: 首页 > ai >正文

Web 开发 17

1 什么是路由?

“路由”(Routing)是计算机网络中的核心概念,简单来说,它指的是将数据从 “起点”(如你的手机、电脑)通过网络传递到 “终点”(如目标服务器、另一台设备)的过程,本质是为数据寻找一条最优传输路径的 “决策与执行机制”。

可以把它类比成现实中的 “快递配送”:你的设备是 “寄件地址”,目标服务器是 “收件地址”,数据是 “快递包裹”,而 “路由” 就是快递系统规划配送路线(比如从北京寄到上海,先到区域分拣中心,再转航空 / 陆运,最后到当地网点派送)、并按路线转运包裹的全过程。

一、路由的核心作用:解决 “数据往哪走” 的问题

在复杂的网络(比如互联网)中,数据不会直接从起点 “跳” 到终点,而是要经过多个中间设备(如路由器、交换机)。路由的核心价值就是解决两个关键问题:

  1. 路径选择:在众多可能的传输路径中,选择一条 “最快、最稳定、最经济” 的路线(比如避开拥堵的节点、优先走带宽高的链路)。
  2. 数据转发:按照选定的路径,将数据从一个网络设备传递到下一个,直到抵达目标设备。

二、路由如何工作?关键依赖 “路由表”

路由的决策过程,主要依赖网络设备(尤其是路由器)中的 “路由表”(Routing Table)—— 这是一张记录了 “目标网络地址” 与 “下一跳设备地址” 对应关系的 “地图”。

举个具体例子理解:
假设你的电脑(IP:192.168.1.100)要访问百度服务器(IP:180.101.49.12),过程如下:

  1. 你的电脑先检查自身路由表:发现百度 IP 不在本地局域网(192.168.1.x),于是将数据发给 “网关”(即你家的路由器,IP:192.168.1.1)。
  2. 家用路由器检查自身路由表:发现百度 IP 属于 “互联网公网”,于是将数据转发给你的宽带运营商的路由器(“下一跳”)。
  3. 运营商路由器继续查路由表,将数据转发给更上层的骨干网路由器,经过多次类似转发,数据最终抵达百度的服务器。
  4. 百度服务器的响应数据,会沿着相反的路由路径,传回你的电脑。

三、路由的两种主要类型

根据路径规划的方式,路由可分为 “静态路由” 和 “动态路由”,二者的适用场景差异很大:

类型定义优点缺点适用场景
静态路由由网络管理员手动在路由器中配置路由表条目,不会自动更新。配置简单、稳定,不占用网络资源无法自动适应网络变化(如链路故障),大型网络中维护成本极高小型网络(如家庭、小型办公室)、固定链路场景
动态路由路由器通过 “动态路由协议”(如 OSPF、BGP)自动交换网络信息,动态生成和更新路由表。能自动适应网络变化(如故障自愈),适合大型网络配置复杂,协议会占用一定网络带宽和设备资源大型网络(如企业园区网、互联网骨干网)

四、总结

  • “路由” 是数据在网络中 “找路、赶路” 的全过程,是实现设备互联(尤其是跨网络互联)的基础。
  • 路由器是执行路由功能的核心设备,而 “路由表” 是路由器的 “导航地图”。
  • 日常上网(刷视频、聊微信)的每一次数据传输,背后都依赖路由机制的支撑。

2 什么是URL?

URL(Uniform Resource Locator,统一资源定位符),通俗来说就是我们常说的 “网址”,它是互联网中用于精确定位和访问某个资源(如网页、图片、视频、文件等)的标准化字符串格式。

简单类比:如果把互联网看作一座巨大的城市,那么每个资源(如一个网页)就是城市里的一栋建筑,而 URL 就是这栋建筑的 “详细地址”—— 通过这个地址,浏览器(或其他网络工具)能准确找到并 “拜访” 这个资源。

一、URL 的核心作用

  1. 定位资源:明确资源在互联网中的具体位置(哪个服务器、哪个路径下的哪个文件)。
  2. 指定访问方式:告诉浏览器或工具该用什么协议(如 HTTP、HTTPS)去获取这个资源。
  3. 标准化访问:无论资源类型(网页、图片、API 接口)或存储位置如何,都用统一的格式描述,确保全球所有网络设备都能理解和解析。

二、URL 的典型结构(以https://www.example.com:8080/blog/article?id=123&sort=newest#comment为例)

一个完整的 URL 通常由6 个核心部分组成,部分场景下某些组件(如端口、查询参数、锚点)可能省略。各部分的含义和作用如下:

组成部分示例中的对应内容含义与作用
协议(Scheme)https规定访问资源的 “通信规则”,告诉客户端(如浏览器)如何与服务器交互。常见协议:
http:超文本传输协议(未加密,安全性低,逐渐被淘汰)
https:HTTP 的加密版本(基于 SSL/TLS,安全,现在主流)
ftp:文件传输协议(用于传输文件)
mailto:用于发送邮件(如mailto:abc@example.com
域名(Domain Name)www.example.com资源所在服务器的 “友好名称”,本质是替代难记的 IP 地址(如www.example.com对应某个服务器 IP,如192.168.1.1)。
注:www是常见的子域名,代表 “万维网服务”,其他子域名如blog.example.com(博客子站)、api.example.com(接口服务)。
端口(Port)8080服务器上用于接收特定类型请求的 “门户编号”(类似酒店的房间号)。
- 默认端口可省略:http默认端口是80https默认端口是443(如https://www.example.com实际访问的是443端口);
- 非默认端口必须显式指定(如80808081,常见于开发环境或特殊服务)。
路径(Path)/blog/article资源在服务器上的 “文件路径”,类似电脑中 “文件夹 / 文件名” 的结构,用于定位服务器内具体的资源位置(如/blog/article可能对应服务器上/var/www/blog/article.html这个文件)。
查询参数(Query Parameters)id=123&sort=newest向服务器传递的 “额外请求信息”,用于筛选、排序或指定资源的具体条件。
- 格式:以?开头,多个参数用&分隔,每个参数是键=值的形式;
- 示例中id=123表示请求 “ID 为 123 的文章”,sort=newest表示 “按最新排序”。
锚点(Fragment)#comment用于定位 “资源内部的特定位置”,仅在客户端(如浏览器)生效,不会发送到服务器
- 常见于长网页:如#comment表示跳转到当前文章的 “评论区”;
- 注:锚点后面的内容不会被服务器接收,仅浏览器用于页面内滚动定位。

三、常见 URL 示例与解析

为了更直观理解,我们解析几个不同场景的 URL:

  1. 普通网页 URL
    https://www.baidu.com/s?wd=URL&rsv_spt=1

    • 协议:https(加密传输)
    • 域名:www.baidu.com(百度服务器)
    • 端口:省略(默认443
    • 路径:/s(百度搜索的处理路径)
    • 查询参数:wd=URL(搜索关键词是 “URL”)、rsv_spt=1(百度内部的参数,用于标识请求类型)
    • 锚点:省略
  2. 带端口的 URL(开发场景常见)
    http://localhost:3000/index.html

    • 协议:http(未加密,本地开发常用)
    • 域名:localhost(代表 “本机”,对应 IP127.0.0.1
    • 端口:3000(开发服务器的自定义端口)
    • 路径:/index.html(本机服务器上的index.html文件)
    • 查询参数 / 锚点:省略
  3. 带锚点的长网页 URL
    https://baike.baidu.com/item/URL#3

    • 协议:https
    • 域名:baike.baidu.com(百度百科服务器)
    • 路径:/item/URL(“URL” 词条的页面路径)
    • 锚点:#3(跳转到词条中 “历史” 相关的章节,具体对应页面内id="3"的元素)

四、URL 与 URI 的区别(补充知识)

很多人会混淆 URL 和 URI(Uniform Resource Identifier,统一资源标识符),简单说二者是 “包含关系”:

  • URI:是一个更宽泛的概念,指 “用于识别资源的唯一字符串”,它包含两种形式 ——URL(通过 “位置” 识别资源)和 URN(通过 “名称” 识别资源,如urn:isbn:9787115428028,通过 ISBN 编号识别某本书,不依赖位置)。
  • URL:是 URI 的子集,特指 “通过位置定位资源” 的标识符(即我们日常说的网址)。

日常场景中,我们说的 “网址” 既是 URL,也是 URI;但 URI 不一定是 URL(如 URN)。

总结

  • URL 就是 “网址”,是访问互联网资源的 “地址”。
  • 一个完整的 URL 由协议、域名、端口、路径、查询参数、锚点组成,各部分分工明确,共同实现 “精准定位资源”。
  • 我们在浏览器地址栏输入的字符串、点击链接的地址,本质都是 URL。

3 Dashboard中文

搞不清楚还是弄懂一下中文比较重要。

“dashboard” 的中文翻译主要有仪表盘控制台,具体使用需结合场景,核心含义是 “集中展示关键信息、数据或操作入口的界面 / 面板”。

1. 最常用翻译:仪表盘(侧重数据 / 信息展示)

这是当前最主流的译法,尤其在互联网、数据分析、软件系统中,指 “将核心数据、指标以可视化(如图表、数字)形式集中呈现的界面”,方便用户快速查看和掌握关键情况。

  • 常见场景
    • 数据工具(如 Excel、Power BI、Tableau)中的 “数据仪表盘”,展示销售额、用户增长等指标;
    • 企业管理系统中的 “业务仪表盘”,汇总各部门核心绩效;
    • 手机 APP 的 “个人中心仪表盘”,显示余额、使用时长等信息。
  • 例句:打开后台的 “用户数据仪表盘”,就能看到本周的新增用户数和活跃度。

2. 补充翻译:控制台(侧重操作控制)

在涉及设备控制、系统管理的场景中,若 “dashboard” 不仅展示信息,还包含操作按钮(如启动、设置、故障处理),可译为 “控制台”,更突出 “控制功能”。

  • 常见场景
    • 汽车驾驶舱的 “仪表盘”(也叫控制台,既显示车速、油量,也有空调、灯光控制按钮);
    • 服务器管理界面的 “系统控制台”,可查看运行状态并执行重启、配置等操作;
    • 智能家居的 “中控仪表盘”,能查看设备状态并控制开关。
  • 例句:通过服务器的 “管理控制台”,可以实时监控 CPU 使用率并调整配置。

总结:如何选择译法?

场景特点推荐翻译典型例子
数据展示、指标查看为主仪表盘数据分析工具、业务监控界面
兼顾信息展示与操作控制控制台汽车驾驶舱、服务器管理界面

日常使用中,尤其在软件、互联网领域,“仪表盘” 是更通用、易理解的译法;若涉及硬件设备或强控制功能,“控制台” 更贴合场景。

4 前端路由里 “相对路径” 和 “绝对路径” 的知识

老师在讲解前端路由中 “相对路径” 与 “绝对路径” 在路由匹配和 URL 生成上的区别,结合示例代码和对应的 URL 来展示不同路径配置如何影响最终访问地址。

逐部分解析

1. 左侧:路由配置代码

代码用类似 React Router 的语法(<Router> <Home> <Dashboard> <Team> 等组件)定义了三条路由规则:

  • <Home path="/" />:路径为绝对路径(以 / 开头),匹配根路径 sports.com/
  • <Dashboard path="dashboard" />:路径为相对路径(不以 / 开头),它的匹配规则会 “继承父路由的路径”。
  • <Team path="/team" />:路径为绝对路径(以 / 开头),直接匹配 sports.com/team

2. 右侧:不同路由对应的最终 URL

基于左侧的配置,当用户访问不同组件时,最终的 URL 会有不同表现:

  • sports.com:匹配 <Home path="/" />,因为是根路径,直接访问域名即可。
  • sports.com/dashboard<Dashboard> 是相对路径,它会 “拼接在父路由的路径之后”。假设父路由(这里可以理解为 <App> 或 <Router> 对应的基础路径)是根路径,所以最终路径是 根路径 + dashboard → sports.com/dashboard
  • sports.com/team<Team> 是绝对路径,直接 “覆盖” 基础路径,所以直接匹配 sports.com/team

3. 底部字幕:核心结论

字幕 “dashboard 是一个相对路径,而斜杠 team 是一个绝对路径”,直接点明了两者的本质区别:

  • 相对路径(如 dashboard):路径不以 / 开头,会 “继承 / 拼接” 父级路由的路径。
  • 绝对路径(如 /team):路径以 / 开头,会 “直接从根路径开始匹配”,不受父级路由影响。

总结

老师通过这个例子,想让大家理解:在前端路由(如 React Router、Vue Router 等)中,路径是否以 / 开头,会决定路由是 “相对父路径拼接” 还是 “绝对从根路径匹配”,进而影响最终用户访问的 URL。

一、先搞明白 “前端路由” 是啥(基础铺垫)

你可以把 “前端路由” 想象成网站里的 “导航员”

比如你逛一个叫 sports.com 的网站,里面有 “首页”“仪表盘”“团队” 这些不同页面。前端路由的作用就是:当你点击不同导航按钮时,它能精准地把你带到对应的页面,还不用整个网页重新加载(就像在同一个大房子里,从客厅走到卧室,房子没拆了重盖,只是换了房间)。

二、“路径” 是路由的 “地址暗号”

每个页面都得有个 “地址”,这样路由才能找到它。这个 “地址” 就是路径(path)。比如 “首页” 的路径可能是 /,“仪表盘” 可能是 dashboard,“团队” 可能是 /team

三、关键区分:相对路径 vs 绝对路径(核心知识)

路径分两种,就像你去朋友家,有 “跟着导航从自家出发”(绝对路径)和 “从当前路口往前走”(相对路径)两种走法~

1. 绝对路径:“从根开始,直奔目标”

  • 特点:路径以 / 开头(比如 /team)。
  • 效果:不管当前在哪个页面,路由都会从网站的 “根目录”(也就是 sports.com 开头)重新拼接路径
  • 例子:如果配置 <Team path="/team" />,不管你之前在 sports.com 还是 sports.com/dashboard,点击 “团队” 时,都会直接跳转到 sports.com/team

2. 相对路径:“跟着当前位置,接着走”

  • 特点:路径不以 / 开头(比如 dashboard)。
  • 效果:路由会以 “当前页面的路径” 为基础,拼接上相对路径
  • 例子:假设当前在 sports.com(根路径),配置 <Dashboard path="dashboard" />,那么 “仪表盘” 的最终路径就是 sports.com/dashboard(根路径 + 相对路径 dashboard)。

四、用例子再巩固一遍(结合课件)

课件里左边是路由配置(告诉路由每个页面的 “地址暗号”),右边是最终生成的 URL(实际访问的地址)。

路由配置代码路径类型最终 URL为啥这么生成
<Home path="/" />绝对路径sports.com以 / 开头,直接匹配网站根目录。
<Dashboard path="dashboard" />相对路径sports.com/dashboard不以 / 开头,所以 “继承” 当前的基础路径(这里基础路径是根路径 sports.com),拼接后就是 sports.com/dashboard
<Team path="/team" />绝对路径sports.com/team以 / 开头,直接从根目录拼接,所以是 sports.com/team

五、总结一下(小猪猪版记忆法)

  • 绝对路径:带 /,像 “从家直接去商场”,不管在哪,都从家出发。
  • 相对路径:不带 /,像 “从当前路口去便利店”,得看现在在哪儿,再接着走。

这样路由就能根据不同的 “路径暗号”,准确把你带到想去的页面啦~是不是超简单!

 

http://www.xdnf.cn/news/19678.html

相关文章:

  • C++中的“平凡”之美:std::unique_ptr源码探秘
  • 【SpringBootWeb开发】《一篇带你入门Web后端开发》
  • 【数学建模学习笔记】样本均衡
  • (一)基础复习(委托)
  • Python-Flask企业网页平台深度Q网络DQN强化学习推荐系统设计与实现:结合用户行为动态优化推荐策略
  • 902作业
  • @Value注解底层原理(二)
  • Redis 的整数集合:像分类收纳盒一样的整数专属存储
  • Obsidian本地笔记工具:构建知识网络关联笔记,支持Markdown与插件生态及知识图谱生成
  • LoRA至今历程回顾(74)
  • 《水浒智慧》第二部 “英雄是怎么炼成的” (上篇)读书笔记
  • Linux文本处理工具
  • 机器算法(五)模型选择与调优
  • 基于SpringBoot的广科大在线图书管理系统设计与实现(代码+数据库+LW)
  • 探索JavaScript机器学习:几款流行的库推荐
  • Leetcode 3670. Maximum Product of Two Integers With No Common Bits
  • HTML第四课:个人简介页面开发
  • 下载速度爆表,全平台通用,免费拿走!
  • DaemonSet Job CronJob 概念理解
  • XML在线格式化 - 加菲工具
  • Leetcode二分查找(3)
  • 移动硬盘删除东西后,没有释放空间
  • 【机器学习入门】5.2 回归的起源——从身高遗传到线性模型的百年演变
  • 狄利克雷分布作用
  • CentOS 创建站点
  • 二进制流进行预览pdf、excel、docx
  • Cisco FMC利用sftp Server拷贝文件方法
  • 0902 C++类的匿名对象
  • 面试问题:c++的内存管理方式,delete的使用,vector的resize和reverse,容量拓展
  • uni-app 布局之 Flex