2.3 URL

必备基础:掌握了 HTML 基础。

概述

URL的概念

URL,Uniform Resource Locator,统一资源定位符,它是一个网页的关键概念,它是浏览器使用的机制来检索Web上的任何已发布的资源。

一个网址无非是一个给定的独特的资源在网络上的地址。在理论上,每个有效的网址指向一个独特的资源。这些资源可以是一个HTML页面,一个CSS文件,图像,等等。在实践中,也有一些例外,最常见的是一个URL指向不再存在或已移动的资源。作为由Web服务器表示的资源和网址本身是由Web服务器处理的,它是由Web服务器的所有者来仔细管理该资源及其相关的网址。

URI、URL与URN

  • URI:Uniform Resource Identifier,统一资源标识符;
  • URL:Uniform Resource Locator,统一资源定位符;
  • URN:Uniform Resource Name,统一资源名称。

URL 与 URN 是 URI 的子集,它们之间的关系如下图。

URI、URL与URN

URL的组成

下面几个是简单的 URL:

http://ursb.me
http://ursb.me/archives/
http://ursb.me/archives/search?q=URL

任何这些网址可以输入到您的浏览器的地址栏,告诉它加载相关联的页面与资源。

一个网址是由不同的部分组成,一些是强制性的和还有一些是可选的。接下来通过这个 URL 距离说一下各部分的含义与作用:

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument

协议(Protocol)

Protocol

http://是协议部分,表示浏览器使用 HTTP 协议对 URL 进行处理。当然还有其他的协议,如mailto://代表的是使用邮件客户端打开,ftp://则是使用 FTP 协议

域名(Domain Name)

Domain Name

www.example.com是一个域名,也可以使用 IP 地址。浏览器直接指向域名所在的 Web 服务器。

端口(Port)

Port

:80是端口。它表示用于访问 Web 服务器上的“gate”。通常如果 Web 服务器使用 HTTP 协议,端口可以省略(HTTP 默认 80 端口,HTTPS 默认 443 端口)。

文件路径(Path to the file)

Path to the file

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

参数(Parameters)

Parameters

?key1=value1&key2=value2提供 Web 服务器的额外参数。这些参数是&分隔的键/值对的列表。在返回资源之前,Web 服务器可以使用这些参数做额外的工作。每个 Web 服务器都有自己的有关参数的规则,而唯一可靠的方法来知道一个特定的 Web 服务器是否处理参数是通过询问 Web 服务器所有者。

锚点(Anchor)

Anchor

#SomewhereInTheDocument叫做锚。它可以标记出以获取资源中的子资源,也就是该文档的某一个位置。

相对路径

Absolute URLs vs relative URLs

绝对地址

  • Full URL (the same as the one we used before)

      https://developer.mozilla.org/en-US/docs/Learn
    
  • Implicit protocol

      //developer.mozilla.org/en-US/docs/Learn
    

    在 HTML 的一些标签的src属性中比较常用,是一种省去协议部分的简写形式。

  • Implicit domain name

      /en-US/docs/Learn
    

    在 UNIX 系统中的文件查找中也经常用到,首部的/代表根目录。

相对地址

  • Sub-resources

      Skills/Infrastructure/Understanding_URLs
    

    因为该地址不是以/打头的,所以浏览器将试图在一个包含当前资源的子目录中找到该文档。其等价于./Skills/Infrastructure/Understanding_URLs,即在首部加上./是一样的效果。

  • Going back in the directory tree

      ../CSS/display
    

    ../在 UNIX 系统中经常用到,代表返回目前位置的上层目录。

相对 URL 的解析方式

首先先明确两个概念:相对 URL基础 URL

  • 相对 URL:不完整的 URL。
  • 基础 URL:必须要有一个参考点的 URL。

相对 URL 的解析具体分为以下两步:

  1. 找到基础 URL
  1. 将相对URL转换成绝对URL

results matching ""

    No results matching ""