使用http协议,我们往往会问什么是URI、什么是URL,它们之间有什么区别?
URI:统一资源标识符,是一类通用的资源标识符,URL实际上是URI的子集,URI是一个通用的概念,URI有两种形式来实现对资源的统一标识:URL和URN;由于URL大量使用,URN基本不用,我们往往把URI和URL不加区分的使用,如下是一个URL形式的URI:http://www.shopping.com/index.html 首先http://它指示了需要通过http协议去访问目标资源,其次它指示了目标资源在www.shopping.com的服务器上,而且在该服务器下的访问路径是 /index.html
http规范将更通用的URI作为其资源访问标识符,但是实际上http处理的只是URI的子集URL,因此不加区分的使用URL URI也无可厚非,毕竟我们使用的往往就是http协议去访问资源。
URL:统一资源定位符,作为URI的一种形式,由于使用十分广泛,通常我们不加区分的使用URI URL;如下是一个URL:http://www.shopping.com/index.html首先它指示了需要通过http协议去访问目标资源,其次它指示了目标资源在www.shopping.com的服务器上,而且在该服务器下的访问路径是 /index.html
两点需要说明:
一、我们可以指定通过其它的协议来访问资源,比如不用http而是使用https、ftp等等应用层协议
二、我们可以访问的目标资源的格式十分多样,除了上述访问 html格式的文件,我们还可以访问例如:jgp png jpeg txt doc docx ppt pptx等等,当然还有我们编写的web应用程序中的controller,应用程序本身也是一种访问资源,在互联网上素有的开访问内容都可以看做是资源,不管是静态文件资源还是动态的应用程序资源,其返回数据在response中的content-type属性会有所不同,比如:html文件对应的content-type:text/html 还有许多格式对应到text/下;jpg文件对应content-type:image/jpg还有许多格式的图片文件对应image/下等等。