📜  URI 完整形式(1)

📅  最后修改于: 2023-12-03 14:48:14.099000             🧑  作者: Mango

URI 完整形式

URI(Uniform Resource Identifier)是用于标识互联网上资源的字符串,包括URL和URN两个子集。URI 完整形式指的是一个完整的URI,包括协议的方案名,主机名、端口、路径、查询参数和锚点等组成部分。

URI 的组成部分

URI 的组成部分包括:

  • 方案名:URI 所使用的协议名称(http、https、ftp 等);
  • 主机名:URI 的主机名或 IP 地址;
  • 端口号:URI 的端口号;
  • 路径:URI 的路径部分,用于指定资源的位置;
  • 查询参数:URI 的查询参数部分,以 ? 开头,用于携带额外的参数信息;
  • 锚点:URI 的锚点部分,以 # 开头,用于指定文档内的定位。

例如,下面是一个完整的 URI:

https://www.example.com:8080/path/to/resource?param1=value1&param2=value2#anchor

其中:

  • 方案名为 https;
  • 主机名为 www.example.com;
  • 端口号为 8080;
  • 路径为 /path/to/resource;
  • 查询参数为 param1=value1&param2=value2;
  • 锚点为 anchor。
URI 的使用

URI 是互联网上标识资源的标准方式,广泛应用于 Web 开发中。通常,我们可以使用 HTTP 通信协议来访问 URI 所对应的资源。

例如,在 JavaScript 中,我们可以使用以下代码获取一个 URI 对应的资源:

fetch('https://www.example.com/path/to/resource')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error))

在 Java 中,我们也可以使用以下代码访问一个 URI:

URL url = new URL("https://www.example.com/path/to/resource");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
  BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  String line;
  StringBuffer response = new StringBuffer();
  while ((line = reader.readLine()) != null) {
    response.append(line);
  }
  reader.close();
  System.out.println(response.toString());
} else {
  System.out.println("Error: " + responseCode);
}

无论在哪种编程语言中,使用 URI 完整形式都是访问互联网上资源的基础。我们需要了解 URI 的组成部分,以及如何使用这些部分来访问对应的资源。