node.js底层是基于什么原理


今天在社区里面闲逛,发现node.js很火。之前也零零星星的看过一些node.js的介绍,知道它底层是google v8引擎的 基于事件模型的服务器软件。但脑子有几个why一直挥之不去:

1.基于事件模型的理论并不新鲜,为什么没有在其他语言中实现。可能的原因是,其他语言都没有基于基于事件模型的概念或者习惯, 而在浏览器里运行的js则处处都是事件,onclick,onmouseover等等。 2.在不是基于事件的http请求中,客户端和服务器建立tcp连接(http都是基于tcp吧),直到响应完毕,断掉tcp连接。 而现在node.js中在收到请求后,通知客户端断掉tcp连接,并说我之后会把找到的东西发给你。问题来了:服务器端是 怎么找到客户器端的呢?我们知道客户端去找服务器端是花了不少力气的,先dns,再ip;现在tcp断了,我不知道有什么机制 能让服务器找到客户端?难道node.js不是用在这样的场景么?

好吧,精力有限,还来不及去研究这个问题的答案。哪位同学了解的话,解答一下吧。纯属解惑。