什么是URI,URL,URN?以及golang实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是URI,URL,URN?以及golang实现相关的知识,希望对你有一定的参考价值。
URI:
Uniform Resource Identifier
,统一资源标识符;
URL
:
Uniform Resource Locator
,统一资源定位符;
URN
:
Uniform Resource Name
,统一资源名称。
其中,
URL,URN
是
URI
的子集。
URI
:
Uniform Resource Identifier
,统一资源标识符;
URL
:
Uniform Resource Locator
,统一资源定位符;
URN
:
Uniform Resource Name
,统一资源名称。
其中,
URL,URN
是
URI
的子集。
URI
:
Uniform Resource Identifier
,统一资源标识符;
URL
:
Uniform Resource Locator
,统一资源定位符;
URN
:
Uniform Resource Name
,统一资源名称。
其中,
URL,URN
是
URI
的子集。
URI
:
Uniform Resource Identifier
,统一资源标识符;
URL
:
Uniform Resource Locator
,统一资源定位符;
URN
:
Uniform Resource Name
,统一资源名称。
其中,
URL,URN
是
URI
的子集。
1. 概念和关系
URI:Uniform Resource Identifier,即统一资源标志符,用来唯一的标识一个资源。
URL:Uniform Resource Locator,统一资源定位符。即URL可以用来标识一个资源。
URN:Uniform Resource Name,统一资源命名。即通过名字来表示资源的。
集中URL,URN是URI的一种实现方式。互联网最广泛使用的是URL
URI格式:[scheme:] scheme-specific-part
mailto:[email protected]
news:comp.go.lang
URI可以进一步分为不透明的(opaque)和分层(hierarchical)的两类
opaque指的是URI的scheme-specific-part部分不以/开头,是一个整个部分,没有分层结构。如:mailto:[email protected] , news:comp.go.lang
hierarchical指的是以/开头,scheme-specific-part可以由好几部分组成
2. golang 对URI,URL实现
以斜杠开头解析为 :[scheme:][//[[email protected]]host][/]path[?query][#fragment] 否则解析为(opaque):scheme:opaque[?query][#fragment] type URL struct { Scheme string Opaque string // encoded opaque data User *Userinfo // username and password information Host string // host or host:port Path string // path (relative paths may omit leading slash) RawPath string // encoded path hint (see EscapedPath method) ForceQuery bool // append a query ('?') even if RawQuery is empty RawQuery string // encoded query values, without '?' Fragment string // fragment for references, without '#' }
以上是关于什么是URI,URL,URN?以及golang实现的主要内容,如果未能解决你的问题,请参考以下文章