# 纲要
> 主干纲要、Hint/线索/路标
- **域名**:对 IP 地址的易读性标识;
- **URI**(统一资源标识符):对互联网上资源进行**唯一标识的字符串**,包括 URL 和 URN 两种
- **URL**(统一资源定位符):用于**定位**互联网上资源的字符串,包括**访问协议、主机地址或域名、资源路径、查询参数等**
%%
# Q&A
#### 已明确
#### 待明确
> 当下仍存有的疑惑
**❓<font color="#c0504d"> 有什么问题?</font>**
%%
<br>
# 域名
域名 (Domain Name) 是**以句点 `.` 分隔的名称**,用于 "**==替代/标识某一个 IP 地址==**",**方便人类记忆**。
例如,域名 `www.baidu.com` **对应着 IP 地址** `183.240.98.161`。
> [!NOTE] 域名与 IP 地址唯一对应
>
> 互联网上的域名由 **域名注册商** 提供,**每个域名与一个 IP 地址唯一对应**。
> 域名注册商管理域名的注册,并将 "**域名-IP 地址**" 这一映射信息存放在 DNS 服务器中,以供查询。
> [!NOTE] 计算机只能识别 IP 地址,因此需要==将域名翻译成 IP 地址==才能进行访问—— DNS 域名解析即是完成这一转换过程
> [!NOTE] 每台主机上都有 "本地定义" 的域名 `localhost`,该域名默认映射为环回地址 `127.0.0.1`
>
> localhost 是一个**域名**,其指向的 ip 地址**可以自定义配置**。
> 在大多数系统上,其**默认指向 IPv4 的 `127.0.0.1` 以及 IPv6 的 `::1`**。 (windows 下可查看 `hosts` 文件)
>
> 
> ^munya2
<br>
## 域名规范
- **域名不区分大小写**:`Example.com` 和 `example.com` 被视为相同的地址
- **域名的合法字符**
- 可以包含字母、数字以及**连字符**(`-`),但不能以连字符开头或结束。
- 一些特殊字符,如下划线(`_`),通常不允许在域名中使用,但可能出现在子域名中
## 域名的层次结构
域名遵循**一个标准的层次结构**,由几个部分组成,各部分**由点 `.`分隔**,**==从右往左==**,**越靠右的层级越高**:
1. **根域**
2. **顶级域**
3. **二级域名**
4. **子域名**
> [!NOTE] 域名层级结构
>
> ![[_attachment/02-开发笔记/07-计算机网络/应用层/域名 & URL & URI.assets/IMG-域名 & URL & URI-09C50F9613325376FFA64E7D26367C80.png|479]]
> [!example] 示例:
>
> - ``www.example.com``
> - `www` 是子域名,`example` 是二级域名,`.com` 是顶级域名
> - `shop.london.co.uk`
> - `shop` 是子域名,`london` 是二级域名,`.co.uk` 是顶级域名,其中`.uk` 是国家代码级域名,`.co` 通常表示商业组织。
>
>
##### 根域
**根域名为 `.`**(唯一),位于**最末尾**,通常会**被省略**。
例如,域名 `www.server.com` 的完整域名实际为 `www.server.com.` 。
##### 顶级(Top-Level Domain, TLD)
- 常见的**通用顶级域名**: `.com`, `.org`, `.net`, `.gov`, `.edu` 等。
- 国家代码顶级域名: `.cn`(中国)、 `.uk`(英国)、`.de`(德国)等。
- 新的通用顶级域名: `.app`,`.blog`, `.tech` 等。
##### 二级域(**Second-Level Domain,SLD**)
位于顶级域之前,通常是公司或组织的名称, `google.com` 中的`google`。
##### 子级域
位于二级域名之前的、更低一级的域名,常用于标识网站的不同部分或不同的服务。
常见子级域包括 `www`,`blog` 等。
## 域名-IP 之间的映射查询
参见 [[02-开发笔记/07-计算机网络/应用层/DNS 相关|DNS 相关]]
<br><br>
# URI
**==统一资源标识符==**(Uniform Resource Identifier,**URI**) 是一个用于 **==标识互联网资源==的字符串**,
其提供了**一种通用的方式来标识和访问资源**,可以是文档、图像、服务、网页等。
Web 上的任何资源—HTML 页面、图像、视频片段、程序等,都由一个 URI 进行定位。
**统一资源标识符 URI** 包括两种具体形式:
- **==URL==**(Uniform Resource Locator,**统一资源定位符**)
- URL是一种特定的URI,用于指定资源的**位置**和如何**访问**该资源。
- 例如,`https://www.example.com/index.html`是一个URL,其中指定了资源的网络位置以及使用的协议(HTTPS)
- **==URN==**(Uniform Resource Name,**统一资源名称**)
- URN用于标识资源的**名称**,而不包含其的具体位置或如何访问它。
- 例如 `urn:isbn:978-3-16-148410-0`,表示一本书的**国际标准书号**(ISBN)
> [!NOTE] URL 是 URI 的一个子集,是 URI 的一种。
>
> 
> [!NOTE] HTTP 通信下的 URI
>
> 在网络传输场景,URI 通常指的是 URL 中域名后缀里的 "**==资源路径==**" 部分。
>
> 例如在 URL `https://www.google.com/index.html` 中,**URI 特指 "`/index.html`"**,这一 URI 会**用于 HTTP 请求的==请求行==中**。
> 例如,请求行为 `GET /index.html HTTP1.1`
<br><br>
# URL
> URL **(Uniform Resource Locator,统一资源定位符)**
URL 俗称 **"==网址=="**,是描述互联网上的资源位置的**标准地址格式**,用于在网络上定位资源——**指向 Web 服务器上的特定资源**,如网页、图片、视频等。
浏览器客户端向 Web 服务器请求数据,实际上就是**请求服务器里的"文件资源"**,而 URL 就是描述这一文件资源所在位置的标识符。
URL 可用于 HTTP (S)、FTP (S)、SSH 通信等。
### URL 格式
URL 的基本结构如下:
```http
scheme:[//authority]path[?query][#fragment]
```
> [!example]
> 
- **scheme 方案**:
- 定义了**访问资源的协议或方式**,例如`http`、`https`、`ftp`等。
- **authority 权限** :该部分完整格式为 `[username:passwd@]host[:port]`
- `user-info`:用户名密码(可选)
- `host`:**资源所在的==服务器地址==**,可以是 **"域名"** 或者 "**IP 地址**",
- `port`:**端口号**(可选),指定访问的服务器的端口(默认可省略,例如HTTP的默认端口是80,HTTPS 为 443 端口)
- **path 路径**
- 指定**服务器上特定资源的位置**。
- 例如,在 `https://www.example.com/path/to/file` 中,`"/path/to/file"` 是路径
- **query 查询字符串**(可选)
- 以问号 `?` 开始,键值对形式出现,多个参数以`&` 分隔,通常用于**传递参数或信息给服务器**。
- 例如,在 `https://www.example.com/search?q=query&id=123&name=example` 中,`?` 后面携带了三个查询参数。
- **fragment 片段标识符**(可选)
- 以井号 `#` 开始,指定在资源内部的一个位置(文档中某个位置或片段),**常用于网页中的==锚点==**。
- 例如,在 `https://www.example.com/page#section` 中,`#section`是片段标识符。
> [!example] URL 示例
>
>
> ```url
> https://zh.wikipedia.org:443/w/index.php?title=随机页面
> ```
>
> - `https` 是传输协议
> - `zh.wikipedia.org` 是服务器地址(可以用域名或者直接使用 IP 地址)
> - `443` 是端口号
> - `/w/index.php` 是文件路径,表明请求位于服务器 `/w/` 路径下的`index.php` web 文件。
> - `title=随机页面` 是查询参数
### URL 解析

当没有路径名时,就代表访问**根目录下**事先设置的**默认文件**,也就是 `/index.html` 或者 `/default.html` 文件。
<br><br>
# Buffer
## 闪念
> sudden idea
## 候选资料
> Read it later
# 参考资料
# Footnotes