看似简单的东西,但我找不到办法。是否可以更改响应中发送的标头
服务器:ArangoDB
通过别的东西(为了减少冗长和更安全)?
另外,我需要在文档中存储一个大字符串(很长的url +很多信息),但是joi.string的最大长度是多少?
THX,
答案 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因此应该是限制。