我花了整整一夜的时间来弄清楚为什么我们的生产服务器有一个在我们的登台服务器中遗漏的错误。而今天早上,我终于缩小了范围,把它钉在了这段代码上:
url = [ database.protocol, '//' + database.host, database.port, ].join(':');
url = [ url, database.db ].join('/');
是的。这到底是怎么回事?好吧,在分期中它显示:
http://:localhost:5984/fo
但在主人它显示
http://:10.x.x.x:5984/fo (x is a number)
前者有效,但后者无效。这就是我对 URL 的了解让我失望的地方。前者到底如何有效,而后者无效?
编辑:
需要明确的是,我认为这两个 URL 都应该是无效的,这是一个应该在我的登台服务器中捕获的错误。我只想知道为什么前一个 URL (:localhost) 被解释为有效但后者不是。