一.URL是什么?
文字意义:统一资源定位符。是URI对的一个子集,目前互联网上所有资源基本是用URL定位访问的,另外一种资源定位方式URN还在摇篮中,只是提供了一个概念,并没有较多的实践。
二.URL的作用是什么?
互联网上的资源太多太多,有动态的,有静态的,而且访问的客户端和资源所在的位置,可能天南地北?如何有效地访问到这些资源?统一资源访问方式?URL就是帮我们做这样一件事情的。
URL语法上包括:
一.方案(如http,ftp,smtp):告诉客户端怎样访问资源。
二..域名/IP地址:告诉客户端,资源所在服务器的位置
三.资源在服务器上的路径:一台服务器的资源非常多,要访问资源,需要提供明确的路径
总结:URL定义了一种访问互联网上各种资源的统一方式。解决了资源访问协议不同,位置不确定,路径不明确等等各种问题,它实现是本质是告诉客户端,资源在哪里,客户端会按照这个位置去范围。
三.URL中的细节
1.协议:大小写无关。
2.端口未指定的http协议,默认端口是80
3.有些方法协议,比如ftp服务器,需要提供用户名和密码,以:分开
4.路径中的参数:路径中每个段都可以加入参数,与服务器以正确的格式交互
5.查询字段:以?开始,以&分开。通常就是查询数据库
6.flag片段:以#开始,实际并不会发给服务器,是客户端自己处理的
7.URL快捷方法:
相对URL的计算算法:
相对URL的优点:方便快捷,当一组资源一起移动的时候,不用改写相对URL,就可以范围到资源了。
四.URL的优缺点
优点:方便快捷,提供了一个统一方案。
缺点:如果资源搬迁了,URL就访问不到了。
解决方法:
1.URN:统一资源名字,不管资源搬到哪里,都可以访问到。这个工作量太大,还没太多实践。
2.PURL:公共统一资源定位符:实际是利用一个中间层,记录和追踪资源的变化,而对于用户来说,PURL可以一直不变。所有资源的追踪都交给PURL服务器去做。