你所不知道的 URL 0.說(shuō)明 第一幕
產(chǎn)品:大叔有用戶反映賬戶不能綁定公眾號(hào)。
大叔:啊咧咧?怎么可能,我看看?
大叔:恩?這也沒(méi)問(wèn)題啊,魏蝦米。
大叔:還是沒(méi)問(wèn)題啊,挖叉類(lèi)。
大叔:T T,話說(shuō)產(chǎn)品姐姐是不是Java提供接口的時(shí)候,沒(méi)有對(duì)URL進(jìn)行encodeURI。
產(chǎn)品:啊咧咧?我問(wèn)問(wèn)看?
大叔:小二你給我過(guò)來(lái)!
小二:啊咧咧?怎么了大叔?
大叔:知道在URL中的+有時(shí)候會(huì)變成什么嗎?
小二:啊咧咧?不是+嗎?
大叔:知道在URL中的空格有時(shí)候會(huì)變成什么嗎?
小二:啊咧咧?不是空格嗎?
大叔:還不趕快自己去查查看!別也成了挖坑型選手。
維基百科中關(guān)于百分號(hào)編碼中有段說(shuō)明。
當(dāng)HTML表單中的數(shù)據(jù)被提交時(shí),表單的域名與值被編碼并通過(guò)HTTP的GET或者POST方法甚至更古遠(yuǎn)的email把請(qǐng)求發(fā)送給服務(wù)器。這里的編碼方法采用了一個(gè)非常早期的通用的URI百分號(hào)編碼方法,并且有很多小的修改如新行規(guī)范化以及把空格符的編碼"%20"替換為"+" . 按這套方法編碼的數(shù)據(jù)的MIME類(lèi)型是application/x-www-form-urlencoded, 當(dāng)前仍用于(雖然非常過(guò)時(shí)了)HTML與XForms規(guī)范中. 此外,CGI規(guī)范包括了web服務(wù)器如何解碼這類(lèi)數(shù)據(jù)、利用這類(lèi)數(shù)據(jù)的內(nèi)容。1.GET - 簡(jiǎn)單的在瀏覽器中測(cè)試
在瀏覽器里輸入U(xiǎn)RLhttps://www.baidu.com/s?wd=小二+大叔,這時(shí)候百度搜索框中出現(xiàn)的是小二 大叔,搜索框中+神奇的變成了空格。
在瀏覽器里輸入U(xiǎn)RLhttps://www.baidu.com/s?wd=小二 大叔,這時(shí)候百度搜索框中出現(xiàn)的是小二 大叔,URL中空格的變成%20。
在瀏覽器里輸入U(xiǎn)RLhttps://www.baidu.com/s?wd=小二%2B大叔,這時(shí)候百度搜索框中出現(xiàn)的是小二+大叔,搜索框中%2B的變成+。
2.POST - 簡(jiǎn)單的PHP測(cè)試POSTMAN 發(fā)送請(qǐng)求
POST /1.php HTTP/1.1 Host: 127.0.0.1 Cache-Control: no-cache Postman-Token: fed5740c-aceb-0f57-edc9-cf42a275b35a Content-Type: application/x-www-form-urlencoded word=%2B%2B%2B+%2B%2B%2B輸出
+++ +++2.孕婦 - URL中的URL 0.說(shuō)明在社交登錄或微信公眾號(hào)等時(shí)候,我們常常會(huì)在URL中使用到回調(diào)地址來(lái)處理驗(yàn)證成功后的頁(yè)面跳轉(zhuǎn)。
例如:
回調(diào)地址為:lionis.taroball.com?username=lionis&sex=man
這時(shí)候在URL中附加回調(diào)信息時(shí)
地址變?yōu)?b>www.xxx.com?redirect=lionis.taroball.com?username=lionis&sex=man。
這個(gè)時(shí)候?qū)擂蔚膯?wèn)題出現(xiàn)了,sex=man在這個(gè)時(shí)候變成了www.xxx.com的參數(shù)了,而不是lionis.taroball.com的參數(shù)了。
這個(gè)時(shí)候就需要對(duì)回調(diào)信息進(jìn)行encodeURL。
2.代碼3.有 encodeURLURL
localhost/test.php?redirect=lionis.taroball.com%3Fusername%3Dlionis%26sex%3Dman輸出
lionis.taroball.com?username=lionis&sex=man4.無(wú) encodeURLURL
localhost/test.php?redirect=lionis.taroball.com?username=lionis&sex=man輸出
lionis.taroball.com?username=lionis3.結(jié)論 GET如果想在URL中使用+需要對(duì)URL進(jìn)行encodeURL,把+編碼成%2B。
在服務(wù)端渲染頁(yè)面的時(shí)候,對(duì)URL需要encodeURL。
在客戶端發(fā)送請(qǐng)求的時(shí)候,javascript需要使用正則來(lái)進(jìn)行替換。
在服務(wù)端接受參數(shù)的時(shí)候,對(duì)關(guān)鍵字使用decodeURL。
對(duì)于URL中的URL也需要進(jìn)行encodeURL
POSTPOST的Content-Type默認(rèn)是application/x-www-form-urlencoded,顧名思義對(duì)URL進(jìn)行了encodeURL。
想要了解更多有關(guān)POST可以看我之前寫(xiě)的你所不知道的POST。
一起成長(zhǎng)在困惑的城市里總少不了并肩同行的 伙伴 讓我們一起成長(zhǎng)。如果您想讓更多人看到文章可以點(diǎn)個(gè) 點(diǎn)贊。
如果您想激勵(lì)小二可以到 Github 給個(gè) 小星星。
如果您想與小二更多交流添加微信 m353839115。
本文原稿來(lái)自 PushMeTop
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/21805.html
摘要:給百度百科給的環(huán)比定義為環(huán)比,統(tǒng)計(jì)學(xué)術(shù)語(yǔ),是表示連續(xù)個(gè)統(tǒng)計(jì)周期比如連續(xù)兩月內(nèi)的量的變化比。二你所不知道的同比環(huán)比兩種方式的核心區(qū)別判斷兩個(gè)數(shù)據(jù)到底是同比還是環(huán)比。 ...
摘要:請(qǐng)注意是創(chuàng)建一個(gè)全局對(duì)象的屬性,而不是聲明了一個(gè)全局變量。由于變量聲明自帶不可刪除屬性,比較跟,前者是變量聲明,帶不可刪除屬性,因此無(wú)法被刪除后者為全局變量的一個(gè)屬性,因此可以從全局變量中刪除。下期預(yù)告前端面試你所不知道系列偽類(lèi)和偽元素 寫(xiě)在開(kāi)始 又到了一年的伊始,很多人可能因?yàn)楦鞣N原因想換一份工作,而找工作難免遇到各種各樣頭痛的面試題,于是我打算寫(xiě)一個(gè)系列,關(guān)于面試中最常見(jiàn)或者前端一...
0.說(shuō)明 大叔 :二翔 我們要做一個(gè)微信公眾號(hào)哦。我來(lái)教你大概的流程好不好?(開(kāi)啟裝逼模式中 ) 二翔 :好啊,快講快講。(無(wú)限期待中 ) 大叔 :你知道 application/x-www-form-urlencoded是什么嘛? 二翔 :啊咧咧? 大叔 :你知道 php 怎么獲得 raw? 二翔 :啊咧咧? 大叔 :用下面這種方法來(lái)實(shí)現(xiàn)。 echo file_get_...
閱讀 1807·2023-04-26 02:14
閱讀 3729·2021-11-23 09:51
閱讀 1387·2021-10-13 09:39
閱讀 3976·2021-09-24 10:36
閱讀 3016·2021-09-22 15:55
閱讀 3524·2019-08-30 12:57
閱讀 2041·2019-08-29 15:30
閱讀 1988·2019-08-29 13:19