我試圖以分塊模式發送數據。所有標題設置正確,數據編碼相應。瀏覽器將我的響應識別爲分塊,接受標題並開始接收數據。塊傳輸編碼 - 瀏覽器行爲
我期待瀏覽器會更新每個接收到的塊的頁面,而不是等待,直到接收到所有的塊,然後顯示它們全部。這是預期的行爲?
我期待看到每個塊在收到後立即顯示。當使用curl
時,每個塊在收到後立即顯示。爲什麼GUI瀏覽器不會發生這種情況?他們是否使用某種緩衝/緩存?
我將Cache-Control
標頭設置爲no-cache
,所以不確定它是關於緩存的。
我試圖以分塊模式發送數據。所有標題設置正確,數據編碼相應。瀏覽器將我的響應識別爲分塊,接受標題並開始接收數據。塊傳輸編碼 - 瀏覽器行爲
我期待瀏覽器會更新每個接收到的塊的頁面,而不是等待,直到接收到所有的塊,然後顯示它們全部。這是預期的行爲?
我期待看到每個塊在收到後立即顯示。當使用curl
時,每個塊在收到後立即顯示。爲什麼GUI瀏覽器不會發生這種情況?他們是否使用某種緩衝/緩存?
我將Cache-Control
標頭設置爲no-cache
,所以不確定它是關於緩存的。
瀏覽器可以處理和呈現數據,看它是否發送了數據。瀏覽器是否呈現響應數據將成爲數據結構的功能,以及它使用的緩衝類型。例如在瀏覽器可以呈現圖像之前,它需要擁有文檔(或者足夠的文檔),樣式表等。
在資源響應時資源的長度未知時,塊是最有用的(「Content-Length」不能包含在響應頭中),並且服務器不希望在資源轉移後關閉連接。
您在尋找哪些瀏覽器?一般來說,瀏覽器_將執行增量渲染,但它們可以在內部緩存一些東西,因爲傳播開銷很大...... –
你在塊中發送什麼類型的數據?它只是HTML還是發送腳本數據? – qqx
我發送'text/html'。嘗試在Firefox和Chrome上。都等待所有的塊被收到。 –