国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

URI編解碼詳解encodeURIComponent、encodeURI

Youngdze / 2701人閱讀

摘要:可選項目,一般使用隔開或隔開的鍵值對可選項目包,其它額外的標識信息和的不同這和長得也很相似,是的縮寫,譯為統(tǒng)一資源定位符。格式類似協(xié)議主機名具體地址可能還有參數(shù)這里有三個概念,統(tǒng)一資源標識符,統(tǒng)一資源定位符,統(tǒng)一資源名稱。

URI

URI是Universal Resource Identifier通用資源標志符,是一個用于標識某一互聯(lián)網(wǎng)資源名稱的字符串。 該種標識允許用戶對任何(包括本地和互聯(lián)網(wǎng))的資源通過特定的協(xié)議進行交互操作。URI由包括確定語法和相關(guān)協(xié)議的方案所定義。

URI的初識

若干部分

協(xié)議/scheme name
類似 https、http、file、ed2k

主機名
這部分比較熟悉的是 //baidu.com 網(wǎng)絡主機,也可能是其他的形式的資源:mailto:名稱@域名 用戶郵箱,

query/參數(shù)
類似a=1&b=2

標識符/錨點
有的URI指向的不是整個資源,而是某個資源的內(nèi)部某個模塊,這也是我們熟悉的錨點:https://baidu.com#test,這是指向資源內(nèi)部的某一部分。

相對URI
有的時候請求的資源可能是相對當前資源的路徑來完成的,logo 這樣的,

整體的書寫方式如下:

 :  [ ?  ] [ #  ]

例如:

http://write.blog.csdn.NET/po...

file:///c:/WINDOWS/clock.avi

Git://github.com/user/project-name.git

ftp://user1:1234@地址
ed2k://|file|%5BMAC%E7%89%88%E6%9E%81%E5%93%81%E9%A3%9E%E8%BD%A69%EF%BC%9A%E6%9C%80%E9%AB%98%E9%80%9A%E7%BC%89%5D.%5BMACGAME%5DNeed.For.Speed.Most.Wanted.dmg|4096933888|2c55f0ad2cb7f6b296db94090b63e88e|h=ltcxuvnp24ufx25h2x7ugfaxfchjkwxa|/

這些都是一個URI Scheme。
其中:
:很明顯,這是scheme的名稱,對于上面五個scheme,它們scheme名分別是http,file, git, ftp, ed2k(電驢協(xié)議),實際上,它們也代表著協(xié)議名稱。
:實際上,一般情況,它包含 authority 和 path【//baidu.com、///c:/WINDOWS/clock.avi】。
:可選項目,一般使用;隔開或&隔開的鍵值對=【a=1&b=2】
:可選項目包,其它額外的標識信息[#href#anchor]

和URL的不同

這URI和URL長得也很相似,URL是Uniform Resource Locator的縮寫,譯為“統(tǒng)一資源定位符”。格式類似

協(xié)議【http、https】://主機名【baidu.com】/具體地址【test/test.html】【可能還有參數(shù)】

這里有三個概念:

URI :Uniform Resource Identifier,統(tǒng)一資源標識符;

URL:Uniform Resource Locator,統(tǒng)一資源定位符;

URN:Uniform Resource Name,統(tǒng)一資源名稱。是URL的一種更新形式,統(tǒng)一資源名稱(URN,,Uniform Resource Name)不依賴于位置,并且有可能減少失效連接的個數(shù)。但是其流行還需假以時日,因為它需要更精密軟件的支持。

其中,URL,URN是URI的子集。

URI編解碼

uri中會遇到的兩個問題:

在URI經(jīng)常會出現(xiàn)一些明文內(nèi)容,例如 https://baidu.com?query=破碎&t=知乎, 這樣的uri的內(nèi)容大家都是可見的,這就需要把一些特殊字符進行編碼,
方法:encodeURI() ,把uri進行編碼,但是并不會對uri中具有特殊含義的的字符進行編碼,具體不會編碼的部分包括括號中的字符【, / ? : @ & = + $ #】,
encodeURI("my test.asp?name=st?le&car=saab")
// my%20test.php?name=st%C3%A5le&car=saab
解碼的話可以使用 decodeURI()
decodeURI("my%20test.php?name=st%C3%A5le&car=saab")
// my test.asp?name=st?le&car=saab

有的時候uri的某些組成部分自身含有一些特殊字符,這些特殊字符在uri自身在有著特殊意義,這樣會導致錯誤的解析uri,例如:

test.asp?name=sta&le 
//這里 query的name的值sta&le,包含了頁數(shù)字符&,是的解析name的值為 sta 就停止了

這個時候也需要進行處理。同樣也是對進行編碼操作,
方法:encodeURIComponent(),這回對除了字母、數(shù)字、(、)、.、!、~、*、"、-和_之外的所有字符,而類似【 :;/?:@&=+$,#】 這些用于分隔 URI 組件的標點符號都會由一個或多個十六進制的轉(zhuǎn)義序列替換的。

 :  [ ?  ] [ #  ]
//上面的描述是一個uri的完整組成,每個部分都可以認為是uri的組件,可以進行多帶帶的編碼
//用戶輸入的數(shù)據(jù)作為query參數(shù),用戶輸入了"test&test=測試"這樣的字符串時,只是一個查詢參數(shù)
var uri = "http://test.com";
var queryValue = "test&test=測試"; //需要編碼,不然會被當成兩個鍵值對了
var uri += "?query=" + encodeURIComponent(queryValue);
//這樣就是 query = "test&test=測試";真正的結(jié)果,
//而不是 query = "test"; test= "測試" 這樣的兩個鍵值對

解碼方法:decodeURIComponent()

參考:http://blog.csdn.net/woyaowen...
https://baike.baidu.com/item/...
https://www.zhihu.com/questio...
http://blog.csdn.net/nicolas_...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84518.html

相關(guān)文章

  • 微信小程序開發(fā)中遇到的問題及解決辦法(一)

    摘要:社區(qū)中的說法大概是這個是因為小程序架構(gòu)的原因?qū)е率录幸欢ǖ难舆t,最終使的改變不夠及時導致的。折中解決辦法隱藏,使用結(jié)構(gòu),重新渲染分享圖。 1、整個頁面覆蓋的自定義彈窗,滑動彈窗中的內(nèi)容,頁面內(nèi)容也會滑動。如果快速滾動彈窗,頁面內(nèi)容和彈窗中的內(nèi)容有時會錯亂。這個問題大多出現(xiàn)在蘋果手機上,類似事件事件穿透的效果。 自定義彈窗截圖如下:showImg(https://segmentfaul...

    pakolagij 評論0 收藏0
  • 微信小程序開發(fā)中遇到的問題及解決辦法(一)

    摘要:社區(qū)中的說法大概是這個是因為小程序架構(gòu)的原因?qū)е率录幸欢ǖ难舆t,最終使的改變不夠及時導致的。折中解決辦法隱藏,使用結(jié)構(gòu),重新渲染分享圖。 1、整個頁面覆蓋的自定義彈窗,滑動彈窗中的內(nèi)容,頁面內(nèi)容也會滑動。如果快速滾動彈窗,頁面內(nèi)容和彈窗中的內(nèi)容有時會錯亂。這個問題大多出現(xiàn)在蘋果手機上,類似事件事件穿透的效果。 自定義彈窗截圖如下:showImg(https://segmentfaul...

    tinyq 評論0 收藏0
  • 微信小程序開發(fā)中遇到的問題及解決辦法(一)

    摘要:社區(qū)中的說法大概是這個是因為小程序架構(gòu)的原因?qū)е率录幸欢ǖ难舆t,最終使的改變不夠及時導致的。折中解決辦法隱藏,使用結(jié)構(gòu),重新渲染分享圖。 1、整個頁面覆蓋的自定義彈窗,滑動彈窗中的內(nèi)容,頁面內(nèi)容也會滑動。如果快速滾動彈窗,頁面內(nèi)容和彈窗中的內(nèi)容有時會錯亂。這個問題大多出現(xiàn)在蘋果手機上,類似事件事件穿透的效果。 自定義彈窗截圖如下:showImg(https://segmentfaul...

    lowett 評論0 收藏0
  • encodeURI、encodeURIComponent、decodeURI、decodeURICo

    摘要:組成形式一個是由組件分隔符分割的組件序列組成。其一般形式是其中斜體的名字代表組件,是當作分隔符的保留字符。以上說明摘自標準,為了容易讀懂做了點編輯加工。 一、這四個方法的用處 1、用來編碼和解碼URI的 統(tǒng)一資源標識符,或叫做 URI,是用來標識互聯(lián)網(wǎng)上的資源(例如,網(wǎng)頁或文件)和怎樣訪問這些資源的傳輸協(xié)議(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeUR...

    stonezhu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<