mlcp是否一定需要XDBC服务器,还是也可以使用HTTP服务器?
答案 0 :(得分:4)
这取决于您使用的MarkLogic版本 - 从MarkLogic 8开始(当然还有9个版本),您也可以使用REST API实例,无需设置单独的XDBC应用程序服务器。您可以在MarkLogic 8发行说明中了解有关这些增强功能的更多信息:https://docs.marklogic.com/8.0/guide/relnotes/chap3#id_46078
答案 1 :(得分:2)
文档说明" REST API实例"。这特指“服务器”'由MarkLogic的REST API创建。暗示也是"未修改"。
"引擎盖",在V8全部" HTTP"服务器支持XCC协议的http 1.1兼容变体(https://docs.marklogic.com/guide/xcc.pdf sec 2.12.1)。但HTTP服务器"支持"打破这一点的功能,例如使用重写器(REST API大量使用)。 部分是为了解决这个问题,引入了声明性重写器(" XML Rewriter"),它允许在处理管道中很早就路由请求。 XML重写器支持' xdbc passthrough'语法,如果放在文档顶部,则会捕获XDBC请求并正确处理它们。
https://docs.marklogic.com/guide/app-dev/XMLrewriter中记录了这一点 端口8000和新生成的 REST服务器包括以下内容:
<match-path any-of="/eval /invoke /spawn /insert">
<set-error-format>compatible</set-error-format>
<dispatch xdbc="true">$0</dispatch>
</match-path>
端口8002不支持xcc。混合REST,非REST应用程序和xdbc非常有用,特别是作为一个开箱即用的&#39;端口8000上的bootstrap。正如grtjn所提到的,不一定推荐它。给出一个选择,我会避免它,并出于多种原因制作单独的服务器。与混合使用REST和&#34;应用程序&#34;相同同一服务器/端口上的HTTP。有许多移动部件&#39;这必须是正确的,以便能够很好地工作,如果你不完全了解正在发生的事情,它确实会打开潜在的安全漏洞和意外行为。自REST以来,应用程序HTTP和XDBC都基于相同的技术和底层协议(HTTP 1.1) - 错误或精心设计的代码可以创建看似任何这些的请求。
-D