当前位置:首页 > 百科中心 > 教育培训 > 其他培训

URI和URL的区别有哪些

http使用统一资源标识符(uniform resource identifiers, uri)来传输数据和建立连接。url是一种特殊类型的uri,包含了用于查找某个资源的足够的信息。下面是小编为大家整理的uri和url的区别,希望能对大家有所帮助。

uri和url的区别

uri,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

web上可用的每种资源如html文档、图像、视频片段、程序等都是一个来uri来定位的

uri一般由三部组成:

①访问资源的命名机制

②存放资源的主机名

③资源自身的名称,由路径表示,着重强调于资源。

url是uniform resource locator,统一资源定位器,它是一种具体的uri,即url可以用来标识一个资源,而且还指明了如何locate这个资源。

url是internet上用来描述信息资源的字符串,主要用在各种www客户程序和服务器程序上,特别是著名的mosaic。

采用url可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

url一般由三部组成:

①协议(或称为服务方式)。

②存有该资源的主机ip地址(有时也包括端口号)。

③主机资源的具体地址。如目录和文件名等。

urn,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com。

uri是以一种抽象的,高层次概念定义统一资源标识,而url和urn则是具体的资源标识的方式。url和urn都是一种uri。笼统地说,每个 url 都是 uri,但不一定每个 uri 都是 url。这是因为 uri 还包括一个子类,即统一资源名称 (urn),它命名资源但不指定如何定位资源。上面的 mailto、news 和 isbn uri 都是 urn 的示例。

在java的uri中,一个uri实例可以代表绝对的,也可以是相对的,只要它符合uri的语法规则。而url类则不仅符合语义,还包含了定位该资源的信息,因此它不能是相对的。

在java类库中,uri类不包含任何访问资源的方法,它唯一的作用就是解析。

相反的是,url类可以打开一个到达资源的流。

uri的格式

表示指定的 uri,要使用涵盖全部必要信息的绝对 uri、绝对 url 以及相对 url。相对 url,是指从浏览器中基本 uri 处指定的 url,形如 /image/logo.gif。

uri格式由uri协议名(例如http、ftp、mailto、file),一个冒号,和协议对应的内容所构成。特定的协议定义了协议内容的语法和语义,而所有的协议都必须遵循一定的uri文法通用规则,亦即为某些专门目的保留部分特殊字符。uri文法同时也就各种原因对协议内容加以其他的限制,例如,保证各种分层协议之间的协同性。百分号编码也为uri提供附加信息。

url的格式由下列三部分组成:,第一部分是协议(或称为服务方式);第二部分是存有该资源的主机ip地址(有时也包括端口号);第三部分是主机资源的具体地址。

具体uri的格式如下:

[协议名]://[用户名]:[密码]@[服务器地址]:[服务器端口号]/[路径]?[查询字符串]#[片段id]

登录信息(用户名:密码)

指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。此项是可选项。

服务器地址

使用绝对 uri 必须指定待访问的服务器地址。地址可以是类似 hackr.jp 这种 dns 可解析的名称,或是 192.168.1.1 这类 ipv4 地址 名,还可以是 [0:0:0:0:0:0:0:1] 这样用方括号括起来的 ipv6 地址名。

服务器端口号

指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号。

带层次的文件路径

指定服务器上的文件路径来定位特指的资源。这与 unix 系统的文件目录结构相似。

查询字符串

针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。

片段标识符

使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在 rfc 中并没有明确规定其使用方法。该项也为可选项。

url是什么?

url,全称是uniformresourcelocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。以下面这个url为例,介绍下普通url的各部分组成:

https://www.aspxfans.com:8080/news/index.asp?boardid=5&id=24618&page=1#name

从上面的url可以看出,一个完整的url包括以下几部分:

1.协议部分:该url的协议部分为“http:”,这代表网页使用的是http协议。在internet中可以使用多种协议,如http,ftp等等本例中使用的是http协议。在"http"后面的“//”为分隔符

2.域名部分:该url的域名部分为“www.aspxfans.com”。一个url中,也可以使用ip地址作为域名使用

3.端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个url必须的部分,如果省略端口部分,将采用默认端口

4.虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个url必须的部分。本例中的虚拟目录是“/news/”

5.文件名部分:从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个url必须的部分,如果省略该部分,则使用默认的文件名

6.锚部分:从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个url必须的部分

7.参数部分:从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardid=5&id=24618&page=1”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

c语言入门知识相关文章:

★ c语言基础知识入门大全

★ 关于c语言基础知识教程

★ c语言基础知识都有哪些

★ 关于c语言程序设计基础知识

★ 有关c语言常考知识点有哪些

★ 计算机c语言基础知识

★ 有关c语言入门基础知识

★ 关于c语言基本知识有哪些

★ 电脑word操作基础知识

★ c语言重要知识点有哪些


【云广告】
本文章由网友发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

评论