返回

统一资源标识符 (URI):深入了解网络寻址的基石

前端

100%

统一资源标识符 (URI):深入了解网络寻址的基石

在当今互联世界的浩瀚海洋中,统一资源标识符 (URI) 就像一盏明灯,引导我们到达互联网上的特定资源。从我们浏览的网站到我们下载的文件,URI 都充当着网络地址簿,使我们能够在信息无边无际的网络迷宫中轻松导航。

URI 与 URL 和 URN

虽然 URI 通常与 URL(统一资源定位符)互换使用,但它们之间存在着细微的差别。URL 是 URI 的一种特定类型,用于指定资源在网络上的确切位置,例如 https://www.example.com/index.html。另一方面,URN(统一资源名称)则是指不包含任何位置信息的名称,而是用作资源的永久标识符,例如 urn:uuid:6e8bc430-9c3a-11e9-83d0-a968f1813855。

URI 的组成

URI 由几个关键组件组成,它们共同协作以唯一地识别互联网上的资源:

  • 方案: 指定用于访问资源的协议,例如 http、https、ftp 等。
  • 授权信息: 包含用户名和密码等访问凭据,通常用于受密码保护的资源。
  • 主机: 标识资源所在服务器的域名或 IP 地址。
  • 端口: 指定用于访问资源的特定网络端口,如果不指定,将使用默认端口。
  • 路径: 指定资源在服务器上的具体位置,例如目录和文件名。
  • 查询: 包含附加信息或查询参数,通常用于搜索和过滤资源。
  • 片段: 用于标识资源内的特定部分,例如文档中的特定章节。

URI 编码

为了确保 URI 中包含的特殊字符(例如空格和非 ASCII 字符)能够在互联网上正确传输,需要对它们进行编码。URI 编码使用百分比编码(%后跟两个十六进制数字)来表示这些字符。例如,空格编码为 "%20",汉字编码为 "%E4%B8%AD%E5%9B%BD"。

URI 操纵

有许多函数可以用于在 JavaScript 中操纵 URI:

  • encodeURI(): 对 URI 进行编码。
  • encodeURIComponent(): 对 URI 组件(例如查询参数)进行编码。
  • decodeURI(): 对 URI 进行解码。
  • decodeURIComponent(): 对 URI 组件进行解码。

结论

URI 是互联网寻址的基石,使我们能够轻松地在网络上查找和访问资源。通过了解 URI 的组成、类型和操作方法,我们可以更有效地与数字世界互动。