摘要:可選項(xiàng)目,一般使用隔開或隔開的鍵值對(duì)可選項(xiàng)目包,其它額外的標(biāo)識(shí)信息和的不同這和長(zhǎng)得也很相似,是的縮寫,譯為統(tǒng)一資源定位符。格式類似協(xié)議主機(jī)名具體地址可能還有參數(shù)這里有三個(gè)概念,統(tǒng)一資源標(biāo)識(shí)符,統(tǒng)一資源定位符,統(tǒng)一資源名稱。
URI
URI是Universal Resource Identifier通用資源標(biāo)志符,是一個(gè)用于標(biāo)識(shí)某一互聯(lián)網(wǎng)資源名稱的字符串。 該種標(biāo)識(shí)允許用戶對(duì)任何(包括本地和互聯(lián)網(wǎng))的資源通過特定的協(xié)議進(jìn)行交互操作。URI由包括確定語法和相關(guān)協(xié)議的方案所定義。
URI的初識(shí)若干部分
協(xié)議/scheme name
類似 https、http、file、ed2k
主機(jī)名
這部分比較熟悉的是 //baidu.com 網(wǎng)絡(luò)主機(jī),也可能是其他的形式的資源:mailto:名稱@域名 用戶郵箱,
query/參數(shù)
類似a=1&b=2
標(biāo)識(shí)符/錨點(diǎn)
有的URI指向的不是整個(gè)資源,而是某個(gè)資源的內(nèi)部某個(gè)模塊,這也是我們熟悉的錨點(diǎn):https://baidu.com#test,這是指向資源內(nèi)部的某一部分。
相對(duì)URI
有的時(shí)候請(qǐng)求的資源可能是相對(duì)當(dāng)前資源的路徑來完成的, 這樣的,
整體的書寫方式如下:
: [ ? ] [ # ]
例如:
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|/
這些都是一個(gè)URI Scheme。
其中:
這URI和URL長(zhǎng)得也很相似,URL是Uniform Resource Locator的縮寫,譯為“統(tǒng)一資源定位符”。格式類似
協(xié)議【http、https】://主機(jī)名【baidu.com】/具體地址【test/test.html】【可能還有參數(shù)】
這里有三個(gè)概念:
URI :Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符;
URL:Uniform Resource Locator,統(tǒng)一資源定位符;
URN:Uniform Resource Name,統(tǒng)一資源名稱。是URL的一種更新形式,統(tǒng)一資源名稱(URN,,Uniform Resource Name)不依賴于位置,并且有可能減少失效連接的個(gè)數(shù)。但是其流行還需假以時(shí)日,因?yàn)樗枰苘浖闹С帧?/p>
其中,URL,URN是URI的子集。
URI編解碼uri中會(huì)遇到的兩個(gè)問題:
在URI經(jīng)常會(huì)出現(xiàn)一些明文內(nèi)容,例如 https://baidu.com?query=破碎&t=知乎, 這樣的uri的內(nèi)容大家都是可見的,這就需要把一些特殊字符進(jìn)行編碼,
方法:encodeURI() ,把uri進(jìn)行編碼,但是并不會(huì)對(duì)uri中具有特殊含義的的字符進(jìn)行編碼,具體不會(huì)編碼的部分包括括號(hào)中的字符【, / ? : @ & = + $ #】,
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
有的時(shí)候uri的某些組成部分自身含有一些特殊字符,這些特殊字符在uri自身在有著特殊意義,這樣會(huì)導(dǎo)致錯(cuò)誤的解析uri,例如:
test.asp?name=sta&le //這里 query的name的值sta&le,包含了頁數(shù)字符&,是的解析name的值為 sta 就停止了
這個(gè)時(shí)候也需要進(jìn)行處理。同樣也是對(duì)進(jìn)行編碼操作,
方法:encodeURIComponent(),這回對(duì)除了字母、數(shù)字、(、)、.、!、~、*、"、-和_之外的所有字符,而類似【 :;/?:@&=+$,#】 這些用于分隔 URI 組件的標(biāo)點(diǎn)符號(hào)都會(huì)由一個(gè)或多個(gè)十六進(jìn)制的轉(zhuǎn)義序列替換的。
: [ ? ] [ # ] //上面的描述是一個(gè)uri的完整組成,每個(gè)部分都可以認(rèn)為是uri的組件,可以進(jìn)行多帶帶的編碼 //用戶輸入的數(shù)據(jù)作為query參數(shù),用戶輸入了"test&test=測(cè)試"這樣的字符串時(shí),只是一個(gè)查詢參數(shù) var uri = "http://test.com"; var queryValue = "test&test=測(cè)試"; //需要編碼,不然會(huì)被當(dāng)成兩個(gè)鍵值對(duì)了 var uri += "?query=" + encodeURIComponent(queryValue); //這樣就是 query = "test&test=測(cè)試";真正的結(jié)果, //而不是 query = "test"; test= "測(cè)試" 這樣的兩個(gè)鍵值對(duì)
解碼方法: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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84518.html
摘要:社區(qū)中的說法大概是這個(gè)是因?yàn)樾〕绦蚣軜?gòu)的原因?qū)е率录幸欢ǖ难舆t,最終使的改變不夠及時(shí)導(dǎo)致的。折中解決辦法隱藏,使用結(jié)構(gòu),重新渲染分享圖。 1、整個(gè)頁面覆蓋的自定義彈窗,滑動(dòng)彈窗中的內(nèi)容,頁面內(nèi)容也會(huì)滑動(dòng)。如果快速滾動(dòng)彈窗,頁面內(nèi)容和彈窗中的內(nèi)容有時(shí)會(huì)錯(cuò)亂。這個(gè)問題大多出現(xiàn)在蘋果手機(jī)上,類似事件事件穿透的效果。 自定義彈窗截圖如下:showImg(https://segmentfaul...
摘要:社區(qū)中的說法大概是這個(gè)是因?yàn)樾〕绦蚣軜?gòu)的原因?qū)е率录幸欢ǖ难舆t,最終使的改變不夠及時(shí)導(dǎo)致的。折中解決辦法隱藏,使用結(jié)構(gòu),重新渲染分享圖。 1、整個(gè)頁面覆蓋的自定義彈窗,滑動(dòng)彈窗中的內(nèi)容,頁面內(nèi)容也會(huì)滑動(dòng)。如果快速滾動(dòng)彈窗,頁面內(nèi)容和彈窗中的內(nèi)容有時(shí)會(huì)錯(cuò)亂。這個(gè)問題大多出現(xiàn)在蘋果手機(jī)上,類似事件事件穿透的效果。 自定義彈窗截圖如下:showImg(https://segmentfaul...
摘要:社區(qū)中的說法大概是這個(gè)是因?yàn)樾〕绦蚣軜?gòu)的原因?qū)е率录幸欢ǖ难舆t,最終使的改變不夠及時(shí)導(dǎo)致的。折中解決辦法隱藏,使用結(jié)構(gòu),重新渲染分享圖。 1、整個(gè)頁面覆蓋的自定義彈窗,滑動(dòng)彈窗中的內(nèi)容,頁面內(nèi)容也會(huì)滑動(dòng)。如果快速滾動(dòng)彈窗,頁面內(nèi)容和彈窗中的內(nèi)容有時(shí)會(huì)錯(cuò)亂。這個(gè)問題大多出現(xiàn)在蘋果手機(jī)上,類似事件事件穿透的效果。 自定義彈窗截圖如下:showImg(https://segmentfaul...
摘要:組成形式一個(gè)是由組件分隔符分割的組件序列組成。其一般形式是其中斜體的名字代表組件,是當(dāng)作分隔符的保留字符。以上說明摘自標(biāo)準(zhǔn),為了容易讀懂做了點(diǎn)編輯加工。 一、這四個(gè)方法的用處 1、用來編碼和解碼URI的 統(tǒng)一資源標(biāo)識(shí)符,或叫做 URI,是用來標(biāo)識(shí)互聯(lián)網(wǎng)上的資源(例如,網(wǎng)頁或文件)和怎樣訪問這些資源的傳輸協(xié)議(例如,HTTP 或 FTP)的字符串。除了encodeURI、encodeUR...
閱讀 1746·2021-11-24 10:18
閱讀 2257·2021-11-18 13:20
閱讀 2348·2021-08-23 09:46
閱讀 1008·2019-08-30 15:56
閱讀 2852·2019-08-30 15:53
閱讀 751·2019-08-30 14:22
閱讀 479·2019-08-29 15:34
閱讀 2549·2019-08-29 12:14