在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实例。