2016-02-26 116 views
1

如何檢測HTTP響應正文內容長度不同的主體大小? Http 1.1如何檢測HTTP響應正文內容長度不同的體大小?

我想實現一個http代理。 正常情況下,http代理接收來自服務器的響應;如果頭部有內容長度L1,我認爲身體的長度是L1。 但是,如果內容長度不同體大小,如何檢測身體結束? (在keep-alive模式下,我無法收到eof。)

如RFC2616第4.4節中提到的 「當接收並檢測到無效長度時,HTTP/1.1用戶代理必須通知用戶。

回答

0

一)2616是非常過時

B)的答案應該是在這裏:http://greenbytes.de/tech/webdav/rfc7230.html#message.body.length

+0

謝謝您的回覆! 我把上面的部分弄紅了,但是我找不到解決方法。 在我的情況下,作爲一個http代理,我需要找到「Content-Length值不正確」的情況,然後我可以告訴客戶端。 在http 1.1中,保持活動狀態,我無法區分緩衝區是當前響應溢出數據還是下一個新響應數據。 – Ben

+0

有沒有這樣的事情,「不正確」,spec-wise。如果指定了內容長度,則它是權威的,所以這是要讀取和轉發的字節數。如果要讀取的字節較少,則該消息被截斷。 –