长URL GET请求的Express.js Server 400错误请求错误

时间:2019-01-10 02:30:42

标签: node.js http express

我正在向普通的express.js服务器发出请求,该服务器应该解析如下所示的参数:

app.get('/:param', function(req, res) {
  // do something
})

这适用于99%的普通情况,但是当我尝试传递一个非常长的参数(大约10,000个字符)时,它将失败并显示400 Error。

服务器除了提供400个错误外没有提供任何其他详细信息,我遍及整个Internet,但是URL长度的确存在限制,但超过10,000个,我不认为这是原因

同样,较短的url在完全相同的代码下也可以正常工作。长网址失败。所以我的问题是:

  1. 我是否误解了限制,这应该不可能吗?
  2. 如何调试这种情况?我得到的只是400错误。

1 个答案:

答案 0 :(得分:0)

HTTP服务器接收的标头总数不得超过8192个字节,以防止可能的拒绝服务攻击。那是一个编译时常量,您必须使用定制编译的Node版本才能将该常量设置得更大。