मैं Node.js का उपयोग करें और एक छोटी परियोजना पर व्यक्त करते हैं। मैं झटका की तरह प्रतिक्रिया हेडर सेट:नोड एक्सप्रेस सामग्री-लंबाई
res.set({'Content-Type':'text/plain;charset=utf-8',
'Content-Length': Buffer.byteLength(data, 'utf-8')});
मैं उपयोग कर सकते हैं console.log
प्रिंट डेटा की दूरी 317
है लेकिन ब्राउज़र के कंसोल, मैं सिर्फ इन मिलती है:
कनेक्शन: जीवित-रखें
सामग्री-एन्कोडिंग: gzip
सामग्री-प्रकार: टेक्स्ट/सादा; charset = utf-8
दिनांक: शनि, 01 जून 2013 08:21:59 GMT
स्थानांतरण-एन्कोडिंग:
chunked Vary: Accept-एन्कोडिंग
एक्स संचालित-द्वारा: एक्सप्रेस
तो, क्यों सामग्री-लंबाई गायब हो गया?
कृपया टिप्पणी आप क्यों downvote:
भी इन सवालों देखते हैं? –
क्षमा करें, मैं ने इस downvote किया पता नहीं है, लेकिन तुम सही हो। आपका बहुत बहुत धन्यवाद। टिप्पणी के बाद 'app.use (express.compress());', सामग्री-लंबाई प्रकट होती है। लेकिन, क्या मैं gzip और सामग्री-लंबाई दोनों का उपयोग कर सकता हूं? –
@ डीएमडीजीकर, सिद्धांत रूप में, हां, आप 'स्थानांतरण-एन्कोडिंग: gzip' और' सामग्री-लंबाई 'का उपयोग कर सकते हैं।हालांकि, 'express.compress' मिडलवेयर के साथ नहीं। यह सिर्फ इसका समर्थन नहीं करता है। सिद्धांत रूप में, यदि आप प्रतिक्रिया की लंबाई जान सकते हैं तो एक सामग्री-लंबाई शीर्षलेख भेजना पसंद किया जाना चाहिए। आप स्वयं सामग्री को संपीड़ित कर सकते हैं या विभिन्न "संपीड़न" मिडलवेयर की तलाश कर सकते हैं। लेकिन 'सामग्री-लंबाई' को भेजे गए वास्तविक सामग्री को प्रतिबिंबित करना चाहिए। यह अंतिम (शायद संपीड़ित) शरीर की बाइट-लंबाई को प्रतिबिंबित करना चाहिए। –