# 什么是 URL？

> 原文： [https://docs.oracle.com/javase/tutorial/networking/urls/definition.html](https://docs.oracle.com/javase/tutorial/networking/urls/definition.html)

如果您一直在网上冲浪，您无疑会听到术语 URL 并使用 URL 从 Web 访问 HTML 页面。

将 URL 视为万维网上文件的名称通常是最简单的，尽管不完全准确，因为大多数 URL 指的是网络上某个机器上的文件。但是，请记住 URL 也可以指向网络上的其他资源，例如数据库查询和命令输出。

* * *

**Definition:** 

URL 是 _ 统一资源定位符 _ 的首字母缩写，是 Internet 上资源的引用（地址）。

* * *

URL 有两个主要组件：

*   协议标识符：对于 URL `http://example.com`，协议标识符为`http`。
*   资源名称：对于 URL `http://example.com`，资源名称为`example.com`。

请注意，协议标识符和资源名称由冒号和两个正斜杠分隔。协议标识符指示用于获取资源的协议的名称。该示例使用超文本传输​​协议（HTTP），它通常用于提供超文本文档。 HTTP 只是用于访问网络上不同类型资源的许多不同协议之一。其他协议包括文件传输协议（FTP），Gopher，文件和新闻。

资源名称是资源的完整地址。资源名称的格式完全取决于所使用的协议，但对于许多协议（包括 HTTP），资源名称包含以下一个或多个组件：

**Host Name**

The name of the machine on which the resource lives.

**Filename**

The pathname to the file on the machine.

**Port Number**

The port number to which to connect (typically optional).

**Reference**

A reference to a named anchor within a resource that usually identifies a specific location within a file (typically optional).

对于许多协议，主机名和文件名是必需的，而端口号和引用是可选的。例如，HTTP URL 的资源名称必须指定网络上的服务器（主机名）和该机器上文档的路径（文件名）;它还可以指定端口号和引用。