node.js入门必知

目录:

一、node.js简介

  1.1特点

  1.2适合开发什么

  1.3Node.js无法挑战老牌后台语言

二、http模块

一、node.js简介

  Node.js开发服务器,数据、路由。本地关心的效果,交互

  1.1特点

    单线程

      好处:操作系统完全不再有线程创建、销毁的时间开销。同样内存的服务器相比多线程用户增多

      坏处:一个用户造成线程的崩溃,整个服务器都崩溃了,其他人也崩溃了 

    非阻塞I/O

      不会傻等I/O语句结束,而会执行后面的语句。如果一个人I/O去了,就放弃CPU的使用权,换成另一个人使用CPU。所以CPU利用率100%。

    事件机制,事件环

      在Node中,在一个时刻,只能执行一个事件回调函数,但是在执行一个事件回调函数的中途,可以转而处理其他事件(比如,又有新用户连接  了),然后返回继续执行原事件的回调函数,这种处理机制,称为“事件环”机制。

  1.2适合开发什么

    node.js善于I/O,不善于计算。因为node.js善于调度任务。如果你的业务有很多的CPU计算,实际上也相当于这个计算阻塞了这个单线程,就不适合Node开发。

    比如:

      用户表单收集

      ● 考试系统

      ● 聊天室

      ● 图文直播

      ● 提供JSON的API(为前台Angular使用)

  1.3Node.js无法挑战老牌后台语言

    node.js是极客追求性能极致的产物,缺乏服务器的健壮考量,node不是银弹,只是工具箱的一个小工具。

    1)没有自己的语法,使用V8引擎,所以就是JS。V8引擎解析JS,效率很高,V8很多都是异步的。Node就是将V8中的一些功能自己没有重写(别人做了,自己站在巨人的肩膀上),移植到了服务器上。

    2)没有web容器,就是安装配置完成之后,没有一个根目录

二、http模块

  

  res.end():结束响应,告诉客户端所有消息已经发送。当所有要返回的内容发送完毕时,该函数必须被调用一次。

      如何不调用该函数,客户端将永远处于等待状态。

原文地址:https://www.cnblogs.com/15fj/p/7745388.html