浏览器中url的组成部分详解

一:   什么是URL

 书籍有 ISBN 号,公交车有线路号,银行账户有账户编号,个人有社会保险号,而 URL 就是因特网资源的标准化名称,URL 指向每一条电子信息,告诉你它们位于何处,以及如何与之进行交互。

URL 是通过描述资源的位置来标识资源的,而 URN 则是通过名字来识别资源的,与它们当前所处位置无关。那么看一下它的组成部分

二:URL的组成部分

        例如:https://www.baidu.com/index.html?query=test&userName=testName

      1.协议(http),协议可以告知 浏览器客户端怎样访问资源,这里 URL 说明要使用 HTTP 协议,也可以是其他协议,如 https 、ftp 、rtsp 、smtp 等

        2、主机名又叫域名(www.abc.com),域名会对应一个ip地址,这部分告知 Web 客户端资源位于何处

        3、路径(index.html),资源路径说明了请求的是服务器上哪个特定的本地资源

三、URL 语法

看<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

协议(scheme):访问服务器以获取资源时要使用哪种协议
用户(user):某些方案访问资源时需要用户名和密码来认证(如 ftp),默认值是匿名用户
密码(password):用户名后面可能要包含的密码,中间由冒号分隔
主机(host):资源宿主服务器的主机名或点分 IP 地址
端口(port):资源宿主服务器正在监听的端口号,每个方案都有默认的端口号,如 HTTP 的默认端口号为 80
路径(path):服务器上资源的本地名,由一个斜杠将其与前面的 URL 组件分隔开来
参数(params):参数为应用程序提供了访问资源所需的所有附加信息(如 type=d 表明访问的资源是个目录),参数为 key/value 对,URL 中可以包含多个参数,用分号分隔
查询(query):用来查询某类资源,用问号与其他组件隔开,如果有多个查询,则用 & 隔开,如 https://www.taobao.com/inventory.cig?item=12731&color=blue

片段(frag):对一个带有章节的大型文本文档来说,资源的 URL 会指向整个文本文档,但是我们可以根据片段来显示我们感兴趣的章节,片段表示一小片或一部分资源的名字,用 # 与其他组件隔开

四、URL 快捷方式

1、相对 URL :相对 URL 是一个资源的便捷缩略方式,如 ./index.html
2、绝对 URL :绝对 URL 中包含有访问资源所需的所有信息,如 http://www.abc.com/index.html
3、自动扩展 URL :比如我们访问百度的时候,我们直接访问 baidu.com 即可,浏览器会自动扩展,自动扩展有两种方式,第一种是根据主机名来扩展,比如你输入 yahoo ,则自动扩展为 www.yahoo.com ;第二种是根据历史记录来扩展,也就是浏览器将你访问过的 URL 历史存储起来,下次输入 URL 时会自动扩展。

五、URL 字符集

URL 字符集:默认的计算机系统字符集通常都倾向于以英语(US-ASCII)为中心,虽然美国用户使用起来很方便,但却不支持其他国家的语言,现在我们一般都是用 utf-8 作为字符集(支持多国语言)
URL 编码机制:用转义的方法来表示一些不安全的字符,如下图 1

URL 字符限制:在 URL 中,一些字符被保留起来,有着特殊的含义,如下图

浏览器中url的组成部分详解浏览器中url的组成部分详解