url详解

不想做将军的士兵不是好士兵,那么不知道什么是URL的前端人也不是优秀的前端人,我们现在就来详细讲讲什么是URL

统一资源定位符

URL(Uniform Resoure Locator:统一资源定位符),每个有效的资源都对应着唯一的一个URL,它是用来检索Web上公布的任何资源的机制。

我们来剖析一下URL:

一般的URL都有下面几个部分组成:

  1. 传送协议(protocol)
  2. 服务器/主机名(hostname)
  3. 端口号(port)
  4. 路径(path)
  5. 参数(;parameters)
  6. 查询(?query)[可选]
  7. 信息片断(fragment)

Windows主机不区分URL大小写,但是Linux/Unix需要区分大小写

下面我们使用一个例子看看究竟URL是什么:

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
  • http协议,它表明了浏览器需要使用哪种协议,通常都是http协议或者是更加安全的https,还有其他的协议,比如处理文件传输ftp和打开邮件客户端mailto

  • www.example.com域名,它表明正在请求哪个Web服务器。

  • :80端口,它用来访问网络服务器上资源 的技术“门”,如果使用的协议的默认端口,那么这段将会被删除。(http是80,https是443)

  • /path/to/myfile.html是网络服务器上资源的路径。在Web的早期阶段,这样的路径指的是Web服务器上的物理文件地址。

  • ?key1=value1&key2=value2是客户端提供给Web服务器的额外参数。这些参数是使用&连接起来的键值对列表。这些参数可以让服务器返回参数之前有额外的操作。

  • #SomewhereInTheDocument是资源本身的一些锚点,相当于书签的形式。

URL的结构

URL的结构一般分为两种:物理结构逻辑结构

物理结构包括树形结构和扁平结构。

树形结构适合较为大型一些的网页,可以使用许多分支将资源有序且高效的整理,而扁平结构比较适合较为小型的网站,因为他的所有资源都存放在其根目录下,更加容易访问。

逻辑结构就是网页之间所有的关系形成的逻辑的或链接的网络图,比较好的情况是逻辑结构与前面的树型物理结构相吻合。

缺点

  • 信息存放发生改变时,对应的URL必须做出相应的改变