Tôi sử dụng node.js và thể hiện tại một dự án nhỏ. Tôi đặt tiêu đề phản ứng như đòn:Node Express Content-Length
res.set({'Content-Type':'text/plain;charset=utf-8',
'Content-Length': Buffer.byteLength(data, 'utf-8')});
tôi có thể sử dụng dài console.log
dữ liệu in là 317.
Nhưng tại giao diện điều khiển của trình duyệt, tôi chỉ nhận được những:
kết nối: giữ-sống
Nội dung Mã hóa: gzip
Loại nội dung: văn bản/đồng bằng; charset = utf-8
Ngày: Sat, 01 Jun 2013 08:21:59 GMT
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Powered-By: Thể hiện
Vì vậy, tại sao nội dung dài biến mất?
hãy bình luận lý do tại sao bạn downvote? –
Xin lỗi, tôi không biết ai đã làm điều này, nhưng bạn nói đúng. Cảm ơn nhiều. Sau khi bình luận 'app.use (express.compress());', chiều dài nội dung xuất hiện. Nhưng, tôi có thể sử dụng gzip và chiều dài nội dung cả hai không? –
@DMDGeeker, về nguyên tắc, có, bạn có thể sử dụng 'Chuyển mã hóa: gzip' và' Nội dung dài 'với nhau.Tuy nhiên, không phải với phần mềm trung gian 'express.compress'. Nó không hỗ trợ điều đó. Về nguyên tắc, việc gửi tiêu đề Content-Length được ưu tiên nếu bạn có thể biết độ dài phản hồi. Bạn có thể tự nén nội dung hoặc tìm phần mềm trung gian "nén" khác nhau. Nhưng 'Content-Length' phải phản ánh nội dung thực được gửi. Nó phải phản ánh độ dài byte của phần tử cuối cùng (có thể được nén). –