问题描述
我目前正在调查使用 MarkLogic Query Console
时遇到的一个奇怪问题。当我编辑文件并单击保存按钮时,浏览器会显示消息
查询控制台与服务器的连接丢失。 正在尝试重新建立连接。
在服务器日志中我发现了这个错误:
套接字对等名称错误:getpeername
但这只会在我要保存的文件超过一定大小(大约 3.5 kB)时发生。 我怀疑我使用的(网络)基础设施中的某些东西可能导致了这个问题,所以我开始查看浏览器发送的请求。
当我看到它使用 GET
请求发送文件内容时,我感到非常惊讶,我原以为是 POST
。实际上,当文件变大时,URL(以及发送的内容)在某些时候会被截断,这可能导致我的问题。
我的问题是:为什么它使用 GET
请求?是否可以以某种方式将其更改为 POST
?我认为这会解决我的问题。
顺便说一句,我目前使用的是 MarkLogic 9.0-7.2,不确定这是否相关。
解决方法
出于安全原因和避免 URL 的最大长度,保存操作应通过 POST 完成。
此问题已得到解决,并将在较新版本的 MarkLogic 中执行 POST。
我刚刚验证了在 10.0-5.2 中通过查询控制台编辑保存文档时,文档内容通过 POST 发送并成功保存了 8MB 文件。
您应该升级到最新版本的 MarkLogic。