1. 程式人生 > >關於Http中Transfer-Encoding: chunked問題

關於Http中Transfer-Encoding: chunked問題

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());//將長度新增到協議頭中