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)!