為什么需要對(duì)URI進(jìn)行編碼?
對(duì)于Url來(lái)說(shuō),之所以要進(jìn)行編碼,是因?yàn)閁rl中有些字符會(huì)引起歧義。
一般來(lái)說(shuō),URL只能使用英文字母、阿拉伯?dāng)?shù)字和某些標(biāo)點(diǎn)符號(hào),不能使用其他文字和符號(hào)。這是因?yàn)榫W(wǎng)絡(luò)標(biāo)準(zhǔn)RFC 1738做了硬性規(guī)定:
原文:"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."
翻譯:“只有字母和數(shù)字[0-9a-zA-Z]、一些特殊符號(hào)“$-_.+!*'(),”[不包括雙引號(hào)]、以及某些保留字,才可以不經(jīng)過(guò)編碼直接用于URL?!?/pre>但是該網(wǎng)絡(luò)標(biāo)準(zhǔn)卻沒(méi)有規(guī)定說(shuō)怎么進(jìn)行編碼,交給了瀏覽器來(lái)自己來(lái)控制,瀏覽器目前的一個(gè)通用做法是除了a-zA-Z0-9.-_以外,都進(jìn)行%替換。
三種編碼方式的介紹
Javascript中提供了3對(duì)函數(shù)用來(lái)對(duì)Url編碼以得到合法的Url,它們分別是
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線(xiàn)安全]玩轉(zhuǎn)無(wú)線(xiàn)電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26