我使用node.js並在一個小項目中表達。我設置響應頭象的打擊:Node Express Content-Length
res.set({'Content-Type':'text/plain;charset=utf-8',
'Content-Length': Buffer.byteLength(data, 'utf-8')});
我可以使用console.log
打印數據的長度爲317
但在瀏覽器的控制檯,我只是讓這些:
連接:保持活躍
內容編號gzip
Content-Type:text/plain; charset = utf-8
Date:Sat,01 Jun 2013 08:21:59 GMT
傳輸編碼:分塊
有所不同:接受編碼
X供電-者:快速
那麼,爲什麼內容長度消失了?
請評論你爲什麼downvote? –
對不起,我不知道這是誰做的,但是你是對的。非常感謝你。在評論'app.use(express.compress());'後,內容長度出現。但是,我可以使用gzip和內容長度嗎? –
@DMDGeeker,原則上是的,你可以一起使用'Transfer-Encoding:gzip'和'Content-Length'。但是,不能使用'express.compress'中間件。它只是不支持。原則上,如果您知道響應長度,則首選發送Content-Length標頭。你可以自己壓縮內容或尋找不同的「壓縮」中間件。但是'Content-Length'必須反映發送的實際內容。它必須反映最終(可能是壓縮的)主體的字節長度。 –