Używam node.js i express w małym projekcie. I ustawić nagłówek odpowiedzi jak cios:Węzeł Express Content-Length
res.set({'Content-Type':'text/plain;charset=utf-8',
'Content-Length': Buffer.byteLength(data, 'utf-8')});
mogę używać długość console.log
wydrukować dane jest 317.
Ale na konsoli przeglądarki, ja po prostu to:
Connection: keep-alive
Kodowanie treści: gzip
Content-Type: text/plain; charset = utf-8
Data: sob, 01 czerwca 2013 08:21:59 GMT
Transfer-Encoding: pakietowego
Vary: Accept-Encoding
X-Powered-By: ekspresowe
Więc dlaczego Content-Length zniknął?
Proszę o komentarz, dlaczego downvote? –
Przepraszam, nie wiem, kto to zrobił, ale masz rację. Dziękuję Ci bardzo. Po komentarzu 'app.use (express.compress());' pojawia się długość treści. Ale czy mogę używać gzip i content-length zarówno? –
@DMDGeeker, w zasadzie tak, możesz użyć 'Transfer-Encoding: gzip' i' Content-Length' razem.Jednak nie z oprogramowaniem pośredniczącym 'express.compress'. Po prostu tego nie obsługuje. W zasadzie wysyłanie nagłówka Content-Length jest preferowane, jeśli znasz długość odpowiedzi. Możesz sam kompresować zawartość lub szukać innego "kompresującego" oprogramowania pośredniego. Ale "Długość treści" musi odzwierciedlać faktyczną treść przesłaną. Musi odzwierciedlać długość bajtów ostatecznego (być może skompresowanego) ciała. –