和 Hypertext 以及 HTTP 同样,URL是Web中的一个核心概念。它是浏览器用来检索web上公布的任何资源的机制。html
URL指的是统一资源定位符(Uniform Resource Locator)。URL无非就是一个给定的独特资源在Web上的地址。理论上说,每一个有效的URL都指向一个独特的资源。这个资源能够是一个HTML页面,一个CSS文档,一幅图像,等等。而在实际中,有一些例外,最多见的状况就是URL指向了不存在的或是被移动过的资源。因为经过URL呈现的资源和URL自己由Web服务器处理,所以web服务器的拥有者须要认真地维护资源以及与它关联的URL。web
一些URL的示例:浏览器
https://developer.mozilla.org
https://developer.mozilla.org...
https://developer.mozilla.org...安全
一个URL由不一样的部分组成,其中一些是必须的,而另外一些是可选的。让咱们如下面这个URL为例看看其中最重要的部分:服务器
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument网络
http://
是协议。它代表了浏览器必须使用何种协议。它一般都是HTTP协议或是HTTP协议的安全版,即HTTPS。Web须要它们两者之一,但浏览器也知道如何处理其余协议,好比mailto:(打开邮件客户端)或者
`ftp:(处理文件传输),因此当你看到这些协议时,没必要惊讶。`url
www.example.com
是域名。 它代表正在请求哪一个Web服务器。或者,能够直接使用IP address, 可是由于它不太方便,因此它不常常在网络上使用。.spa
:80
是端口。 它表示用于访问Web服务器上的资源的技术“门”。若是Web服务器使用HTTP协议的标准端口(HTTP为80,HTTPS为443)来授予其资源的访问权限,则一般会被忽略。不然是强制性的。3d
/path/to/myfile.html
是网络服务器上资源的路径。在Web的早期阶段,像这样的路径表示Web服务器上的物理文件位置。现在,它主要是由没有任何物理现实的Web服务器处理的抽象。code
?key1=value1&key2=value2
是提供给网络服务器的额外参数。 这些参数是用 &
符号分隔的键/值对列表。在返回资源以前,Web服务器可使用这些参数来执行额外的操做。每一个Web服务器都有本身关于参数的规则,惟一可靠的方式来知道特定Web服务器是否处理参数是经过询问Web服务器全部者。
#SomewhereInTheDocument
是资源自己的另外一部分的锚点. 锚点表示资源中的一种“书签”,给浏览器显示位于该“加书签”位置的内容的方向。例如,在HTML文档上,浏览器将滚动到定义锚点的位置;在视频或音频文档上,浏览器将尝试转到锚表明的时间。值得注意的是,#后面的部分(也称为片断标识符)历来没有发送到请求的服务器。
参考:什么是url