什么是URI,URL,URN?以及golang实现

暮色伊人 · · 1443 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

http://www.le.com

    mailto:jeff@javajeff.com

 news:comp.go.lang

URI可以进一步分为不透明的(opaque)和分层(hierarchical)的两类

opaque指的是URI的scheme-specific-part部分不以/开头,是一个整个部分,没有分层结构。如:mailto:jeff@javajeff.com , news:comp.go.lang

hierarchical指的是以/开头,scheme-specific-part可以由好几部分组成


2. golang 对URI,URL实现

以斜杠开头解析为  :[scheme:][//[userinfo@]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 '#'
}






有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:暮色伊人

查看原文:什么是URI,URL,URN?以及golang实现

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1443 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传