Node.js HTTP获取URL长度限制

在Node.js中进行HTTP GET请求时的大小是否有限制? 如果是的话,我该如何改变呢?

var url = "..." // very long, ~50'000 chars http.get(url, function (res) { res.pipe(fs.createWriteStream("file.txt")); }); 

给我这个:

 <html><body><h1>400 Bad request</h1> Your browser sent an invalid request. </body></html> 

在PowerShell或Bash中使用wget也是一样的。

 $url = "..." wget -outf file.txt $url 

Node有一个内置的请求大小限制。 请求的标头+ URI不应超过80 kb。

正如这里所定义的那样:

 /* Maximium header size allowed */ #define HTTP_MAX_HEADER_SIZE (80*1024) 

假设UTF-8字符可以在1到4个字节之间,那么具有50000个字符的string的大小将是从50000到200000字节,或从〜48kb到195kb。