用戶可以將文檔發佈到我們的Web服務。我們將它在其他地方流。但是,在流媒體播放結束時,我們需要確保他們不會說謊他們的內容長度。如何根據Content-Length標題檢查實際內容長度?
我假設,如果headerContentLength > realContentLength
,請求會等待他們發送其餘的,最終超時。所以這可能是好的。
如果headerContentLength < realContentLength
?即如果他們說他們完成後繼續發送數據呢?
這是否由Node.js以任何方式照顧?如果不是,有什麼好方法檢查?我想我可以只計算一些data
事件監聽器中的字節,即req.on("data", function (chunk) { totalBytes += chunk.length; })
。這看起來像一個雜物。
您是否沒有對請求的'end'事件執行此檢查,因爲您希望在客戶端發送比指定的content-length頭部更多的數據時立即終止連接? – cjohn
我很樂意在'end'事件中執行檢查,但我不知道要訪問什麼屬性來告知真正發送了多少個字節。 'http.ServerRequest'似乎沒有任何這樣的屬性。 – Domenic