1

这似乎很容易,但我找不到这样做的方法。是否可以更改响应中发送的标头

服务器:ArangoDB

通过别的东西(为了不那么冗长和更安全)?

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

谢谢,

4

2 回答 2

2

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

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

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

于 2015-11-10T09:33:33.893 回答
1

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

关于乔伊——

我只发现如何在 joi 中指定字符串长度- 而不是它的最大值。我想应该考虑字符串的一般 javascript 限制。

但是,您似乎不应该超过 URL 的 2000 个字符的限制,这应该是限制。

于 2015-11-09T08:44:45.187 回答