修改标头服务器:ArangoDB

时间:2015-11-07 20:59:42

标签: arangodb joi

看似简单的东西,但我找不到办法。是否可以更改响应中发送的标头

  

服务器:ArangoDB

通过别的东西(为了减少冗长和更安全)?

另外,我需要在文档中存储一个大字符串(很长的url +很多信息),但是joi.string的最大长度是多少?

THX,

2 个答案:

答案 0 :(得分:2)

在ArangoDB使用的V8版本中,V8(ArangoDB使用的JavaScript引擎)中的内部字符串限制大约为256 MB。因此,256 MB将是可以在ArangoDB中执行的JavaScript代码中使用的绝对最大字符串长度。

关于上面提到的最大网址长度:网址应该太长,因为很长的网址可能在浏览器中不太容易移植。我认为在实践中,几个浏览器会强制执行一些大约64 K的URL最大长度限制,因此URL绝对不会超过此值。我建议使用更短的URL,并在HTTP请求体中传递hugh有效负载。这也意味着您可能需要从HTTP GET更改为HTTP POST或HTTP PUT,但它至少是可移植的。

最后关于ArangoDB在每个HTTP响应中发送的HTTP响应头"Server: ArangoDB":从ArangoDB 2.8开始,可以选择关闭它:--server.hide-product-header true。此选项在stable 2.7分支中尚不可用。

答案 1 :(得分:1)

不,目前没有配置禁用ArangoDB中的server:标头。 我建议预先安装NGiNX或类似的HTTP-Proxy来实现这一目标(以及其他可能的服务强化)。 可以在lib/Rest/HttpResponse.cpp

中找到服务器标头的实现

关于Joi -

我只发现howto specify a string length in joi - 而不是它的最大值。 我想应该考虑general javascript limit for strings

然而,似乎你不应该exceed the limit of 2000 chars for URLs因此应该是限制。