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。