欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
post使用form

一是數據包格式的區別,二是數據包中非ANSCII字符怎么編碼,是百分號轉碼發(fā)送還是直接發(fā)送

一、application/x-www-form-urlencoded

1、它是post的默認格式,使用js中URLencode轉碼方法。包括將name、value中的空格替換為加號;將非ascii字符做百分號編碼;將input的name、value用‘=’連接,不同的input之間用‘&’連接。

2、百分號編碼什么意思呢。比如漢字‘丁’吧,他的utf8編碼在十六進(jìn)制下是0xE4B881,占3個(gè)字節,把它轉成字符串‘E4B881’,變成了六個(gè)字節,每?jì)蓚€(gè)字節前加上百分號前綴,得到字符串“%E4%B8%81”,變成九個(gè)ascii字符,占九個(gè)字節(十六進(jìn)制下是0x244534254238253831)。把這九個(gè)字節拼接到數據包里,這樣就可以傳輸“非ascii字符的  utf8編碼的 十六進(jìn)制表示的 字符串的 百分號形式”,^_^。

3、同樣使用URLencode轉碼,這種post格式跟get的區別在于,get把轉換、拼接完的字符串用‘?’直接與表單的action連接作為URL使用,所以請求體里沒(méi)有數據;而post把轉換、拼接后的字符串放在了請求體里,不會(huì )在瀏覽器的地址欄顯示,因而更安全一些。

二、multipart/form-data

1、對于一段utf8編碼的字節,用application/x-www-form-urlencoded傳輸其中的ascii字符沒(méi)有問(wèn)題,但對于非ascii字符傳輸效率就很低了(漢字‘丁’從三字節變成了九字節),因此在傳很長(cháng)的字節(如文件)時(shí)應用multipart/form-data格式。smtp等協(xié)議也使用或借鑒了此格式。

2、此格式表面上發(fā)送了什么呢。用此格式發(fā)送一段一句話(huà)和一個(gè)文件,請求體如下

同時(shí)請求頭里規定了Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymNhhHqUh0p0gfFa8

可見(jiàn)請求體里不同的input之間用一段叫boundary的字符串分割,每個(gè)input都有了自己一個(gè)小header,其后空行接著(zhù)是數據。

3、此格式實(shí)際上發(fā)送了什么呢。fiddler抓包如下

右邊明顯看到了一段亂碼,為什么呢,以漢字‘丁’為例,其utf8編碼為0xE4B881,這三個(gè)字節會(huì )直接拼接到數據包中,即其在實(shí)際發(fā)送時(shí)只占三字節,上圖右邊是逐字節轉為ascii字符顯示的,因此會(huì )顯示為三個(gè)亂碼字符。

4、由上可見(jiàn),multipart/form-data將表單中的每個(gè)input轉為了一個(gè)由boundary分割的小格式,沒(méi)有轉碼,直接將utf8字節拼接到請求體中,在本地有多少字節實(shí)際就發(fā)送多少字節,極大提高了效率,適合傳輸長(cháng)字節。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
form
基礎內容-2
Python入門(mén)教程之字符串編碼知識小結
python讀寫(xiě)不同編碼txt文件
Python中文問(wèn)題研究_張揚.達觀(guān).平和
第四章 python3 語(yǔ)法基礎之字符集編碼格式
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久