URL 和 URL的区别

来源:互联网 发布:网络通信基本知识 编辑:程序博客网 时间:2024/05/20 05:53
此文来自知乎:点击打开链接

从鄙人程序员的角度理解,URI属于URL更低层次的抽象,一种字符串文本标准。

就是说,URI属于父类,而URL属于URI的子类。URL是URI的一个子集。

在《HTTP权威指南》一书中,对于URI的定义是:统一资源标识符;对于URL的定义是:统一资源定位符。

二者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时说明要如何访问这个资源(http://)。

例如,一个URL通常包括三部分:

方案部分(scheme):http://

地址部分:CEALER | 一些瞬间、一些回忆、一些经典、一些原创、一些愤怒、一些感动

资源部分:/1.png

而在C#中,URL类属于System.Security.Policy命名空间,Uri属于System。在MSDN对Url类的备注中,能更好的说明Url与Uri的区别:

Url 证据的存在将在授予集内生成 UrlIdentityPermission。如果有对UrlIdentityPermission 的Demand,则与 Url 证据对应的UrlIdentityPermission 将与请求的权限进行比较。

考虑完整的 URL,包括协议(HTTP、HTTPS、FTP)和文件。例如,Microsoft Home Page 就是一个完整的 URL。

URL 可以精确匹配,也可在最后一个位置使用通配符来匹配。例如,Microsoft Home Page* 就是一个含通配符的 URL。

而Uri类在实例化的时候,可以指定为绝对路径,相对路径,但可以不指定到具体的某个资源。

那么我理解的二者的区别就是:

URI可以表示一个域,也可以表示一个资源。

URL只能表示一个资源。


同样的,URN(统一资源名称)也是URI的一个子集,目前没有大规模运用。

PS:

URI是一个字符串格式规范 并没有指定它的用途

URL是资源定位的规范 包括网址 ftp服务器 文件路径



0 0