溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是URI,URL,URN?以及golang實(shí)現(xiàn)

發(fā)布時(shí)間:2020-07-06 22:56:15 來(lái)源:網(wǎng)絡(luò) 閱讀:997 作者:暮色伊人 欄目:編程語(yǔ)言

URI

Uniform Resource Identifier

,統(tǒng)一資源標(biāo)識(shí)符;

 

URL

Uniform Resource Locator

,統(tǒng)一資源定位符;

 

URN

Uniform Resource Name

,統(tǒng)一資源名稱。

 

其中,

URL,URN

URI

的子集。

URI

Uniform Resource Identifier

,統(tǒng)一資源標(biāo)識(shí)符;

 

URL

Uniform Resource Locator

,統(tǒng)一資源定位符;

 

URN

Uniform Resource Name

,統(tǒng)一資源名稱。

 

其中,

URL,URN

URI

的子集。

URI

Uniform Resource Identifier

,統(tǒng)一資源標(biāo)識(shí)符;

 

URL

Uniform Resource Locator

,統(tǒng)一資源定位符;

 

URN

Uniform Resource Name

,統(tǒng)一資源名稱。

 

其中,

URL,URN

URI

的子集。

URI

Uniform Resource Identifier

,統(tǒng)一資源標(biāo)識(shí)符;

 

URL

Uniform Resource Locator

,統(tǒng)一資源定位符;

 

URN

Uniform Resource Name

,統(tǒng)一資源名稱。

 

其中,

URL,URN

URI

的子集。

1. 概念和關(guān)系

  • URI:Uniform Resource Identifier,即統(tǒng)一資源標(biāo)志符,用來(lái)唯一的標(biāo)識(shí)一個(gè)資源。

  • URL:Uniform Resource Locator,統(tǒng)一資源定位符。即URL可以用來(lái)標(biāo)識(shí)一個(gè)資源。

  • URN:Uniform Resource Name,統(tǒng)一資源命名。即通過(guò)名字來(lái)表示資源的。

集中URL,URN是URI的一種實(shí)現(xiàn)方式?;ヂ?lián)網(wǎng)最廣泛使用的是URL

URI格式:[scheme:] scheme-specific-part

如 http://www.le.com

    mailto:jeff@javajeff.com

 news:comp.go.lang

URI可以進(jìn)一步分為不透明的(opaque)和分層(hierarchical)的兩類

opaque指的是URI的scheme-specific-part部分不以/開(kāi)頭,是一個(gè)整個(gè)部分,沒(méi)有分層結(jié)構(gòu)。如:mailto:jeff@javajeff.com , news:comp.go.lang

hierarchical指的是以/開(kāi)頭,scheme-specific-part可以由好幾部分組成


2. golang 對(duì)URI,URL實(shí)現(xiàn)

以斜杠開(kāi)頭解析為  :[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 '#'
}





向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI