2010-11-14 84 views
10

是否有標準方法來處理分塊響應的響應失敗?我傾注了RFC,並沒有看到處理這個問題的標準方法。中止HTTP/1.1塊編碼響應

我對分塊響應的理解是,當我們無法一次在服務器上處理整個響應時,它們非常有用。因此,儘管處理響應的一部分雖然發生了致命錯誤,並且響應需要終止。

我最初的想法是,關閉連接是最好的解決方案,但我想確保沒有處理這種情況的另一種方式。謝謝。

+1

+1有趣的問題。 – Gumbo 2010-11-14 21:34:03

回答

7

是的,關閉連接是唯一有效的方法,因爲在HTTP中,響應已經開始後不能有任何進一步的請求數據。 (更具體地說:在請求結束之後,由兩個\n s標記。)

+0

當我中止分塊響應時,Chrome顯示空白頁面,開發控制檯報告'net :: ERR_INCOMPLETE_CHUNKED_ENCODING'。 IE顯示不完整的頁面。有沒有辦法將用戶發送到實際的500錯誤頁面?我可以輸出破壞文檔的東西,以便瀏覽器不會使用它嗎? – skibulk 2014-11-19 04:40:38

+0

我不知道任何「請重新開始解碼」塊頭,但它可能值得在一個新的問題中提出這個問題。 – AndreKR 2014-11-19 06:13:53