华纳云:URI和URL有什么区别?

251 阅读2分钟

URL是什么

URL 代表着是统一资源定位符(Uniform Resource Locator)。作用是为了告诉使用者 某个资源在 Web 上的地址。这个资源可以是一个 HTML 页面,一个 CSS 文档,一幅图像或一个视频等等。上面我们请求视频的URL就是

upos-sz-staticks3.bilivideo.com/cmaskboss/1…

这里面细分,又可以分为好几个部分。

协议部分

表示该URL的协议部分为http还是https,会用//为分隔符。上面的URL表示网页用的是HTTPS协议,而上面提到的X影天堂用的则是ftp协议的下载链接。

域名部分

域名是upos-sz-staticks3.bilivideo.com,在发送请求前,会向DNS服务器解析IP。如果已经知道ip,还可以跳过DNS解析那一步,直接把IP当做域名部分使用。

端口部分

域名后面有些时候会带有端口,和域名之间用:分隔,端口不是一个URL的必须的部分。当网址为http://时,默认端口为80

当网址为https://时,默认端口为443,以上两种都可以省略端口号。上面的URL其实省略了443端口号。

虚拟目录

从域名的第一个/开始到最后一个/为止,是虚拟目录的部分。虚拟目录也不是URL必须的部分,本例中的虚拟目录是/cmaskboss/

文件名部分

从域名最后一个/开始到?为止,是文件名部分;如果没有?,则是从域名最后一个/开始到#为止,是文件名部分;如果没有?和#,那么就从域名的最后一个/从开始到结束,都是文件名部分。本例中的文件名是164203142_30_1.jpg,文件名也不是一个URL的必须部分。

URI是什么

URI 代表着统一资源标识符(Uniform Resource Identifier),用于标识某一互联网资源名称。 该种标识允许用户对任何包括本地和互联网的资源通过特定的协议进行交互操作。比如上面URL中的 164203142_30_1.jpg。

URL 和 URI 的区别 URL:Uniform Resource Locator 统一资源定位符; URI: Uniform Resource Identifier 统一资源标识符;

其实一直有个误解,很多人以为URI是URL的子集,其实应该反过来。URL是URI的子集才对。