在node.js中计算Content-length头的正确方法是什么?

我目前还不能确定目前的计算内容长度的方法是否正确。 使用string.length()计算内容长度有什么影响。 使用node.js时,将charset设置为utf-8甚至意味着什么?

payload = JSON.stringify( payload ); response.header( 'content-type', application/json; charset=utf-8 ); response.header( 'content-length', payload.length ); response.end( payload ); 

Content-Length头部必须是响应主体中八位位组的计数。 payload.length指string中的string长度。 一些UTF-8字符包含多个字节。 更好的方法是使用Buffer.byteLength(string, [encoding]) 。 这是一个类方法,所以你不必创build任何的Buffer实例。