成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

web開(kāi)發(fā)中URL編碼簡(jiǎn)介

forsigner / 447人閱讀

摘要:大部分需要編碼的原因是由于有特殊字符如等或者參數(shù)是中文形式。不會(huì)被此方法編碼的字符重點(diǎn)因此,對(duì)于中文字符串來(lái)說(shuō),如果不希望把字符串編碼格式轉(zhuǎn)化成格式的比如原頁(yè)面和目標(biāo)頁(yè)面的是一致的時(shí)候,只需要使用。

一、為什么要 urlencode()?

因?yàn)楫?dāng)字符串?dāng)?shù)據(jù)以u(píng)rl的形式傳遞給web服務(wù)器時(shí),字符串中是不允許出現(xiàn)空格和特殊字符的。

也就是說(shuō),url的參數(shù)傳遞的時(shí)候,需要遵循一定的url規(guī)范才能正確的傳送。

通常如果一樣?xùn)|西需要編碼,說(shuō)明這樣?xùn)|西并不適合傳輸。原因多種多樣,如Size過(guò)大,包含隱私數(shù)據(jù),對(duì)于Url來(lái)說(shuō),之所以要進(jìn)行編碼,是因?yàn)閁rl中有些字符會(huì)引起歧義。

大部分需要編碼的原因是由于有特殊字符(如@、#、&等)或者參數(shù)是中文形式。

Url編碼的原則就是使用安全的字符(沒(méi)有特殊用途或者特殊意義的可打印字符)去表示那些不安全的字符。

二、javascript中編碼的函數(shù)

escape() 方法:

(1)采用ISO Latin字符集對(duì)指定的字符串進(jìn)行編碼。
(2)所有的空格符、標(biāo)點(diǎn)符號(hào)、特殊字符以及其他非ASCII字符都將被轉(zhuǎn)化成%xx格式的字符編碼(xx等于該字符在字符集表里面的編碼的16進(jìn)制數(shù)字)。
(3)比如,空格符對(duì)應(yīng)的編碼是%20。
(4)不會(huì)被此方法編碼的字符: @ * / +

encodeURI() 方法:

(1)把URI字符串采用UTF-8編碼格式轉(zhuǎn)化成escape格式的字符串。
(2)不會(huì)被此方法編碼的字符:! @ # $& * ( ) = : / ; ? + "

encodeURIComponent() 方法:

(1)把URI字符串采用UTF-8編碼格式轉(zhuǎn)化成escape格式的字符串。
(2)與encodeURI()相比,這個(gè)方法將對(duì)更多的字符進(jìn)行編碼,比如 / 等字符。
(3)所以如果字符串里面包含了URI的幾個(gè)部分的話,不能用這個(gè)方法來(lái)進(jìn)行編碼,否則 / 字符被編碼之后URL將顯示錯(cuò)誤。
(4)不會(huì)被此方法編碼的字符:! * ( ) "

重點(diǎn):

(1)因此,對(duì)于中文字符串來(lái)說(shuō),如果不希望把字符串編碼格式轉(zhuǎn)化成UTF-8格式的(比如原頁(yè)面和目標(biāo)頁(yè)面的charset是一致的時(shí)候),只需要使用 escape。
(2)如果你的頁(yè)面是GB2312或者其他的編碼,而接受參數(shù)的頁(yè)面是UTF-8編碼的,就要采用encodeURI或者 encodeURIComponent。
(3)另外,encodeURI/encodeURIComponent是在javascript1.5之后引進(jìn)的,escape則在javascript1.0版本就有。

三、php中關(guān)于編碼的函數(shù)

主要是urlencode和urldecode

其他的參考:https://www.cnblogs.com/xuey/...

四、劃重點(diǎn)

url的編碼是為了讓一些特殊字符以及中文能夠通過(guò)編碼轉(zhuǎn)換成安全的字符傳遞,使之符合url標(biāo)準(zhǔn)。

大部分的js中編碼函數(shù)多使用encodeURIComponent,因?yàn)樵摵瘮?shù)是編碼范圍最大的函數(shù)。但是還需要根據(jù)業(yè)務(wù)需求選擇不同的編碼函數(shù)。

五、參考鏈接

https://www.cnblogs.com/liuho...

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103125.html

相關(guān)文章

  • web開(kāi)發(fā)URL編碼簡(jiǎn)介

    摘要:大部分需要編碼的原因是由于有特殊字符如等或者參數(shù)是中文形式。不會(huì)被此方法編碼的字符重點(diǎn)因此,對(duì)于中文字符串來(lái)說(shuō),如果不希望把字符串編碼格式轉(zhuǎn)化成格式的比如原頁(yè)面和目標(biāo)頁(yè)面的是一致的時(shí)候,只需要使用。 一、為什么要 urlencode()? 因?yàn)楫?dāng)字符串?dāng)?shù)據(jù)以u(píng)rl的形式傳遞給web服務(wù)器時(shí),字符串中是不允許出現(xiàn)空格和特殊字符的。 也就是說(shuō),url的參數(shù)傳遞的時(shí)候,需要遵循一定的url...

    xiao7cn 評(píng)論0 收藏0
  • JSON Web Token 簡(jiǎn)介

    摘要:在驅(qū)動(dòng)開(kāi)發(fā)的今天,針對(duì)的驗(yàn)證授權(quán)越來(lái)越重要,這是保證數(shù)據(jù)安全第一步。部分要?jiǎng)?chuàng)建簽名部分,必須采用已編碼的已編碼的密匙簽名算法。 在API驅(qū)動(dòng)開(kāi)發(fā)的今天,針對(duì)API的驗(yàn)證授權(quán)越來(lái)越重要,這是保證數(shù)據(jù)安全第一步?;趖oken授權(quán)的機(jī)制隨著實(shí)踐的不斷進(jìn)步也推陳出新,其中較為人知的有: HTTP Basic API Key OAuth2 JSON Web Token(JWT) 他們都有各...

    fevin 評(píng)論0 收藏0
  • JSP 學(xué)習(xí)記錄

    摘要:對(duì)象具有請(qǐng)求域,即完成客戶端的請(qǐng)求之前,該對(duì)象一直有效。提交的數(shù)據(jù)量最多不超過(guò)。安全性較低但效率比方式高。適合提交數(shù)據(jù)量大,安全性高的用戶信息。除非本次會(huì)話的所有頁(yè)面都關(guān)閉后再重新訪問(wèn)某個(gè)或者,將會(huì)創(chuàng)建新的會(huì)話。 JSP 簡(jiǎn)介 全名為Java Server Pages,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),實(shí)現(xiàn)了在Java當(dāng)中使用HTML標(biāo)簽。JSP是一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),也是Java...

    BearyChat 評(píng)論0 收藏0
  • http簡(jiǎn)介看這篇就夠了

    摘要:分塊傳輸編碼使用字段的前提條件是,服務(wù)器發(fā)送回應(yīng)之前,必須知道回應(yīng)的數(shù)據(jù)長(zhǎng)度。最后是一個(gè)大小為的塊,就表示本次回應(yīng)的數(shù)據(jù)發(fā)送完了。 文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號(hào):好好學(xué)java,獲取優(yōu)質(zhì)學(xué)習(xí)資源。 什么是協(xié)議 協(xié)議,網(wǎng)絡(luò)協(xié)議的簡(jiǎn)稱,網(wǎng)絡(luò)協(xié)議是通信計(jì)算機(jī)雙方必須共同遵從的一組約定。如怎么樣建立連接、怎么樣互相識(shí)別等。只有遵守這個(gè)約定,計(jì)算機(jī)之間才...

    binaryTree 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<