typora/daliy_note/9月归档/9.4/uri和url.md

62 lines
2.0 KiB
Markdown
Raw Normal View History

2024-12-11 21:48:55 -05:00
URIUniform Resource Identifier和URLUniform Resource Locator是两个常见的术语它们用于标识和访问网络资源。尽管它们有许多相似之处但它们并不是完全相同的概念。
### URI
URI统一资源标识符是一个通用的标识符用于标识任何资源。URI可以是一个URL也可以是URNUniform Resource Name。URI的语法由RFC 3986标准定义。
URI的基本结构如下
```
scheme:[//[userinfo@]host[:port]]path[?query][#fragment]
```
- **scheme**指定使用的协议例如http, https, ftp
- **userinfo**:可选的用户信息,通常包含用户名和密码。
- **host**资源所在的主机名或IP地址。
- **port**:可选的端口号。
- **path**:资源的路径。
- **query**:可选的查询字符串,用于传递参数。
- **fragment**:可选的片段标识符,用于指定资源的某部分。
### URL
URL统一资源定位符是URI的一个子集专门用于标识网络资源的定位信息。URL不仅标识资源而且提供了如何访问资源的具体方法。URL的基本结构也是由RFC 3986定义的。
URL的基本结构如下
```
scheme://userinfo@host:port/path?query#fragment
```
例如:
```
https://www.example.com:8080/path/to/resource?search=query#section
```
在这个例子中:
- `https` 是方案表示使用HTTPS协议。
- `www.example.com` 是主机名。
- `8080` 是端口号。
- `/path/to/resource` 是路径。
- `?search=query` 是查询字符串。
- `#section` 是片段标识符。
### 区别
- **URI 是一个更广泛的概念**:它可以标识任何资源,而不仅仅是通过网络协议访问的资源。
- **URL 是 URI 的一个特例**:它不仅标识资源,还提供访问资源的具体方法。
### 总结
- **URI**:统一资源标识符,标识和命名资源。
- **URL**:统一资源定位符,标识和定位资源。
在实践中URL是最常见的URI形式特别是在Web开发和互联网应用中。