URL和资源

URL是因特网资源的标准化名称。

URI:
       虽然感觉URI和URL之间并没有什么不同,现在用起来也常常混为一谈。但是实际上肯定是有所区别的,不然干嘛还提出两个概念。
       最开始还是明确一下概念,URI的范围是最大的,URL和URN都是它的子集。用个公式表达就是 URI=URL+URN+其他。
       URI是一类更通用的资源标识符。我们可以用位置去唯一标识资源,也可以用名字来唯一标识资源,也可以用其他方式标识资源,只要采用了一种策略,那么就都可以算是URI的一种。

URL:
        URL应该是我们最熟悉的一种标识资源的方案,就是用位置去标志资源。比如为了找到QQ.exe这个文件,我们都会采用D://program/../QQ.exe这种方式去查找。我认为不要吧URL认识的太过狭隘,就是用位置去标识资源,至于是http://…还是content://还是其他都是URL。
       URL我记得我写过文档,但是一时半会找不着了。网上有很多不错的解析文章,请自查。这里还是谈一下http里面的url格式。
       第一部分,表明的是url方案,告诉客户端如何访问资源。比如http就是说明使用http协议访问。
       第二部分就是指服务器的位置,比如www.baidu.com比如192.168.1.111,都是描述资源所处的ip地址。
       第三部分就是路径。就是在该ip地址的主机上这个资源的位置。
一般来说,URL=方案://主机位置/路径。这个大家太熟悉不过。

URL语法
       如果留心浏览器上的地址栏,会发现其实上面的地址并不总是单纯的http://www.xxx.com/路径,还有各种奇怪的符号,举个栗子,我随便点的:http://space.bilibili.com/15208065/#!/fav/43750416/0//1,里面就包含了#这个符号。所以url语法也没那么单纯。
url=://:@:/;?#
       下面把每个组件都简单介绍一下。
       方案,方案必须以一个字母符号开始,由第一个:符号和其他组件分隔开。大小写不敏感。
       用户名和密码。有些服务器是要求输入用户名和密码才能访问的。写过几个小网站的肯定比较了解了。其中用户名用:和后面的分隔,密码用@和后面的分隔开。值得注意的是,有些时候不输入用户名和密码也可以访问,那是因为他插入了匿名用户和默认密码。
       主机和端口。主机不用再多说,端口就是服务器正在监听的网络端口。比如8080.
       路径,不提了。
       参数,很多协议需要更多的信息,所以不可避免的需要一些参数。路径中也可以有自己的参数,每段都可以添加一段。比如type=d;
       查询语句,这个就比较好理解,在http协议中就通过一些查询语句来缩小查询范围。比如?item=12111&color=blue;
       片段,如果不是对整个web页面感兴趣,而是只需要其中的一部分,那就用片段来说明。但是值得注意的是,尽管url中提出了我只要一部分片段就好,但是服务器仍然会把整个对象发给客户端,只不过是浏览器选了该片段并展示出来而已。

       因为一些不可避免的限制,所以有些字符还是需要转义。http里面的转义就是%号+ASCII码的十六进制数。

URN
       URN就是使用名字来唯一标识资源的策略。使用url还是有很多不足,该文件被转移的位置,那么这个url就不再有效,这是令人沮丧的。所以基于这个缺陷提出了基于名字来标识资源,这样不管资源的路径怎么移动,只要它没有被删,总能轻而易举的找到它。
       但是标准化是一个漫长的过程,urn的投入使用,应该还需要一段不小的时间。

leIA

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值