HTML 统一资源定位器(Uniform Resource Locators)


HTML 统一资源定位器(Uniform Resource Locators)

HTML 统一资源定位器或 URL 是互联网中确定唯一资源的标准方式。URL 常见于浏览器地址栏中,它们可以指定不同协议,如 HTTP、FTP,以及不同的资源类型,如 HTML、JPEG 图像等。

URL 格式

URL 的基本格式如下:

scheme://host:port/path?query#fragment

其中:

  • scheme 指定访问资源所需的协议类型,如 HTTP、FTP,等等。
  • host 指定资源所在的主机名或 IP 地址。如果省略,则默认使用本地主机。
  • port 指定主机上该资源所监听的服务端口号。如果省略,则默认使用协议默认的端口号。
  • path 指定资源在服务器上的路径。
  • query 包含可选的查询字符串,用于向服务器传递特定的参数。
  • fragment 标识 URL 中的特定片段或锚点。

URL 示例

下面是一些标准的 URL 示例:

  • http://www.example.com/index.html:指向 www.example.com 上的 index.html 文件。
  • ftp://ftp.example.com/README.txt:指向 ftp.example.com 上的 README.txt 文件。
  • https://www.example.com/login.php?username=alice&password=12345:指向 www.example.com 上的 login.php 文件,并向服务器传递 usernamepassword 参数。
  • mailto:info@example.com:指向电子邮件地址 info@example.com

URL 编码

URL 允许包含的字符集有限。一些特殊字符,如空格、问号和井号,在 URL 中必须进行编码。URL 编码将这些特殊字符转换为表示它们的 ASCII 码。

JS 中的 URL 编码工具:

var encodedUrl = encodeURIComponent("https://www.example.com/path/to/resource?foo=1&bar=2#fragment");
console.log(encodedUrl);    // "https%3A%2F%2Fwww.example.com%2Fpath%2Fto%2Fresource%3Ffoo%3D1%26bar%3D2%23fragment"

URL 解码

URL 解码将已编码的 ASCII 码字符转换回原来的字符。这可以使用 JS 中的 decodeURIComponent() 函数进行:

var url = decodeURIComponent("https%3A%2F%2Fwww.example.com%2Fpath%2Fto%2Fresource%3Ffoo%3D1%26bar%3D2%23fragment");
console.log(url);    // "https://www.example.com/path/to/resource?foo=1&bar=2#fragment"

结论

URL 是互联网上访问资源的标准方式,在 HTML 和浏览器中扮演重要的角色。本文介绍了 URL 的基本概念、格式和编码方式,希望对你的 Web 开发工作有所帮助。