在HTTP响应头中正确设置Content-Length值以及返回正确的响应体大小。
示例代码:
app.get('/api/data', function(req, res) {
var data = {
name: 'John Doe',
age: 30,
occupation: 'Developer'
};
var jsonData = JSON.stringify(data);
var responseSize = Buffer.byteLength(jsonData, 'utf8');
res.setHeader('Content-Type', 'application/json');
res.setHeader('Content-Length', responseSize);
res.send(jsonData);
});
这段代码展示了如何在Express框架中设置正确的Content-Length值。在这个路由处理函数中,我们先将数据对象转化为JSON字符串,然后使用Buffer.byteLength方法计算response的数据大小。最后,我们在响应头中设置Content-Type为application/json并设置Content-Length值为计算出的response数据大小。最后使用res.send方法发送响应。