URL 是什么? - Web 开发入门

URL 是什么? - Web 开发入门

总结

URL (Uniform Resource Locator,统一资源定位符) 是互联网上唯一资源的地址。它是 浏览器 用于检索已发布资源(如 HTML 页面、CSS 文档、图像等)的关键机制之一。

理论上,每个有效的 URL 都指向一个唯一的资源。实际上,有一些例外,最常见的是 URL 指向一个已不存在或已移动的资源。由于 URL 所代表的资源和 URL 本身由 Web 服务器处理,因此由 Web 服务器所有者负责仔细管理该资源及其关联的 URL。

基础:URL 的组成部分

以下是一些 URL 示例

https://mdn.org.cn

https://mdn.org.cn/en-US/docs/Learn_web_development/

https://mdn.org.cn/en-US/search?q=URL

您可以在浏览器的地址栏中输入以上任意一个 URL,以告诉浏览器加载相应的资源,这三个示例都是 Web 页面。

URL 由不同的部分组成,有些是必需的,有些是可选的。最重要的部分已在下面的 URL 中高亮显示(详细信息将在后续章节中提供)

注意:您可以将 URL 想象成一个普通的邮政地址:协议 代表您要使用的邮政服务,域名 是城市或乡镇,端口 类似于邮政编码;路径 代表您的邮件应送达的建筑物;参数 代表额外信息,例如建筑物内的公寓号;最后,锚点 代表您要邮寄的实际收件人。

注意:URL 有一些额外的部分和一些额外的规则,但它们对于普通用户或 Web 开发者来说并不重要。不用担心,您无需了解它们即可构建和使用功能完整的 URL。

协议

URL 的第一部分是协议,它指示浏览器必须使用哪个协议来请求资源(协议是围绕计算机网络交换或传输数据的规定方法)。通常对于网站,协议是 HTTPS 或 HTTP(其不安全版本)。寻址网页需要这两个协议之一,但浏览器也知道如何处理其他协议,例如 mailto:(用于打开邮件客户端),因此如果您看到其他协议也不足为奇。

权限

接下来是权限,它由 :// 字符模式与协议分隔。如果存在,权限将同时包含域(例如,www.example.com)和端口(80),并用冒号分隔

域指示正在请求哪个 Web 服务器。通常这是一个 域名,但也可以使用 IP 地址(但这很少见,因为不方便得多)。

端口指示用于访问 Web 服务器上资源的“技术门”。如果 Web 服务器使用 HTTP 协议的标准端口(HTTP 为 80,HTTPS 为 443)来授予对其资源的访问权限,则通常会省略它。否则,它是强制性的。

注意:协议和权限之间的分隔符是 ://。冒号将协议与 URL 的下一部分分隔开,而 // 表示 URL 的下一部分是权限。

一个不使用权限的 URL 示例是邮件客户端(mailto:foobar)。它包含协议但未使用权限组件。因此,冒号后面没有两个斜杠,仅作为协议和邮件地址之间的分隔符。

资源路径

/path/to/myfile.html 是 Web 服务器上资源的路径。在 Web 的早期,这样的路径表示 Web 服务器上的物理文件位置。如今,它主要是 Web 服务器处理的一种抽象,没有实际的物理实体。

参数

?key1=value1&key2=value2 是提供给 Web 服务器的额外参数。这些参数是由 & 符号分隔的键/值对列表。Web 服务器可以使用这些参数在返回资源之前执行额外的操作。每个 Web 服务器对参数都有自己的规则,要了解特定 Web 服务器是否处理参数的唯一可靠方法是询问 Web 服务器所有者。

锚点

#SomewhereInTheDocument 是指向资源本身另一部分的锚点。锚点代表资源内的某种“书签”,为浏览器提供了显示位于该“书签”位置的内容的指示。例如,在 HTML 文档中,浏览器将滚动到定义锚点的位置;在视频或音频文档中,浏览器将尝试转到锚点表示的时间。值得注意的是,# 之后的这部分,也称为片段标识符,在请求中永远不会发送到服务器。

如何使用 URL

任何 URL 都可以直接在浏览器的地址栏中键入以访问其背后的资源。但这只是冰山一角!

HTML 语言(请参阅 HTML 结构化内容)广泛使用 URL

通过 元素创建到其他文档的链接;

通过