1、URL是什么?
URL是因特网资源的标准化名称。通俗来讲,就是不同的URL标识着因特网上不同的资源,URL告诉了我们资源在何处以及如何与资源进行交互。
2、为什么存在URL,URL是怎样出现的?
在URL出现之前,如果我们想利用因特网向朋友共享一个文件,我们首先做以下这样几件事情:1、我们需要指定我们传输文件的协议,2、我们需要通过该协议连接到朋友网站的域名上,3、我们需要输入我的用户名和密码登录,接着才能顺利的和朋友的web网站建立联系。这几个步骤虽然不难,但是非常的繁琐,于是聪明的科学家老头就想,如果我能发明一个东西,可以把几个操作捆绑在一起,对于用户来说,我们只需要一次操作那就好了。
后来像网景Navigator和微软Internet Explorer这样的浏览器就横空出世了,浏览器将很多以上的多种操作捆绑成了一个便捷包。通过URL,我们就通过浏览器的一个接口,以一种统一的方式去访问不同的资源了,比如以上的操作就会变成一条URL指令。
例如“ftp://ftp.lot-o-books.com/pub/compl”,这就是一条URL指令
3、URL的语法
大多数URL方案的URL语法都建立在以下9部分构成的通用格式上:
<协议名>://<用户名>:<密码>@<主机>:<端口号>/<路径>;<参数>?<查询>#<片段>
重点语法结构解读:
协议名:
表示访问服务器以获取资源时需要使用哪种协议,例如HTTP,FTP,协议名的大小写是不区分的,例如“http://www.joes-hardware.com”与“HTTP://www.joes-hardware.com”是等价的。
主机与端口号:
想要在因特网上找到资源,应用程序需要知道这个资源在哪台主机上的哪个应用上,主机与端口号提供了这两组信息,端口组件标识了服务器正在监听的网络端口。对下层使用了TCP协议的HTTP来说,默认端口号是80.
路径:
URL 的路径组件说明了资源位于服务器的什么地方。路径通常很像一个分级的文件系统路径。比如:http://www.joes-hardware.com:80/seasonal/index-fall.html,这个 URL 中的路径为 /seasonal/index-fall.html,路径是服务器定位资源时所需的信息
参数:
对于交互资源来说,只有简单的路径名和到达对象的路径是不够的,很多协议都需要更多的信息才能工作,例如FTP这样的协议,有两种传输模式,二进制和文本形式,你肯定不希望以文本形式来传送二进制文件,于是为了更为准备的与服务器进行交互,URL有了参数的组件。
例如下列URL指令:
ftp://prep.ai.mit.edu/pub/gnu;type=d
在这个例子中,有一个参数type=d,参数名为type,值为d
查询:
在访问资源的时候,比如数据库服务,我们是可以通过指定参数来缩小所请求资源类型的范围的,假如小王的五金商店在数据库中维护着一个未售货物的清单,并可以对清单进行查 询,以判断产品是否有货,那就可以用下列 URL 来查询 Web 数据库网关,看看编 号为 12731 的条目是否有货:
http://www.joes-hardware.com/inventory-check.cgi?item=12731
发表评论