http頭字段Transfer-Encoding:chunked(分塊編碼傳輸)


響應頭字段Transfer-Encoding:chunked

HTTP

分塊編碼(Transfer-Encoding: chunked)

持續連接的問題:對於非持續連接,瀏覽器可以通過連接是否關閉來界定請求或響應實體的邊界;
而對於持續連接,這種方法顯然不奏效。有時,盡管我已經發送完所有數據,
但瀏覽器並不知道這一點,它無法得知這個打開的連接上是否還會有新數據進來,只能傻傻地等了。
用Content
-length解決:計算實體長度,並通過頭部告訴對方。瀏覽器可以通過 Content-Length 的長度信息,判斷出響應實體已結束
Content
-length引入的新問題:由於 Content-Length 字段必須真實反映實體長度,
但是對於動態生成的內容來說,在內容創建完之前,長度是不可知的。這時候要想准確獲取長度,
只能開一個足夠大的 buffer,等內容全部生成好再計算。但這樣做一方面需要更大的內存開銷,另一方面也會讓客戶端等更久。
我們需要一個新的機制:不依賴頭部的長度信息,也能知道實體的邊界——分塊編碼(Transfer
-Encoding: chunked)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM