1.传统的PHP搭建的服务器类型:浏览器—HTTP服务器—PHP解释器
node.js将“HTTP服务器抽离”,直接面向浏览器用户。
2.node.js提供http模块,
var http = require("http"); http.createServer(function(req,res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<h1>Node.js</h1>'); res.end('<p>Hello world</p>'); }).listen(3000); console.log("HTTP server is listening at port 3000");
listen函数中创建了事件监听器。
3.supervisor模块可以使node.js服务器不用重启就可以看到最新的代码,它会监视到对代码的改动。不用重启node服务器,刷新页面就可以看到变化!
4. 阻塞(block):线程在执行中如果遇到磁盘读写或网络通信(统称为I/O操作),通常要耗费较长的时间,这时操作系统会剥夺这个线程的CPU控制权,时期暂停执行,同时将资源让给其他的工作线程,这种线程调度方式称为阻塞。
当I/O操作完毕时,操作系统将这个线程的阻塞状态解除,恢复其对CPU的控制权,令其继续执行。这种I/O模式就是通常的同步式I/O(Synchronous I/O)或者阻塞式I/O(Blocking I/O)。
异步式I/O(Asyncchronous I/O)或非阻塞式I/O(Non-blocking I/O)则针对所有I/O操作不采用阻塞的策略。