關於Http中Transfer-Encoding: chunked問題
阿新 • • 發佈:2019-01-09
Http1.1中新增加內容, Transfer-Encoding: chunked 譯為:分包傳輸
進行一次請求時,如果資料量較大,為了加快頁面顯示,而採取了分包的策略
在.net中
WebPag 預設不分包
MVC4 預設分包
一般簡單的伺服器互動流程
比如,需要伺服器返回一個字串(test),
不分包時傳回內容為
test
分包情況下傳回內容為
4
test
0
這樣,在傳輸像Json這種資料時,解析起來就比較麻煩
禁止方法:
客戶端禁止方法:
使用Http 1.0試呼叫
System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.CreateDefault(uri);
Myrq.ProtocolVersion = new Version(1, 0); //通過設定協議為1.0
服務端禁止方法:
byte[] bJson = Encoding.UTF8.GetBytes(strJson);
//string strAA = Encoding.UTF8.GetString(bJson);
Response.AddHeader("Content-Length", bJson.Length.ToString());//將長度新增到協議頭中