1.Node.js是一个能够在服务器端运行JavaScript的开放源代码,跨平台JavaScript运行环境。
(把我们的战场从浏览器转移到了服务器)
那浏览器和服务器的区别是什么呢?
(简单来说浏览器是网站访问者使用的,服务器是网站的管理者使用的)
2. Node采用Google开发的V8引擎运行js代码,使用事件驱动、 非阻塞和异步I/O模型等技术提高性能,可优化应用程序的传输量和规模。
a.瑞安·达尔(node. js之父)
他不是计算机专业的,他是数学系博士,他觉得学烦了,就退学了。
他就学了 Ruby on Dahl 可以发现node.js跟它很像。(两年成了高性能Web服务器的专家,从开发应用变成了专门帮客户解决性能问题的专家)
b.
客户端给服务器发请求 — 服务器去调用数据库 — 数据库拿到数据返回给服务器 — 再把响应信息给客户端 (跟你在操场跑圈一样,时间用的越短你的性能越好,这就是瑞安·达尔帮客户解决性能问题)
c. 怎么去提升性能呢?
首先我们要将看一看哪一方面我们能去提升
请求:这是了客户端网速所决定的
响应:把服务器的带宽提高你的响应速度就快了
服务器:把服务器的代码逻辑写好一点处理速度就快一点
(难)I/O问题(I意思是input输入,O的意思是output输出):所有项目瓶颈都在I/O,为什么会成为平静,因为他需要跟磁盘进行交互。
d.在他快绝望的时候,V8引擎来了。满足他关于高性能Web服务器的想象。于是在2009年开始编写Node.js