刚开始接触node,来一发http服务纪念一下。
定义:
官网上(http://www.nodejs.org)给Node下的定义是:“一个搭建在Chrome JavaScript运行时
上的平台,用于构建高速、可伸缩的网络程序。Node.js采用的事件驱动、非阻塞I/O模型,使它
既轻量又高效,并成为构建运行在分布式设备上的数据密集型实时程序的完美选择。”
Node为服务端JavaScript提供了一个事件驱动的、异步的平台。它把JavaScript带到服务端中
的方式跟浏览器把JavaScript带到客户端的方式几乎一模一样。它们都是事件驱动(用事件轮询)和非阻塞的I/O处理(用异步I/O)。
在Node中,I/O几乎总是在主事件轮询之外进行,使得服务器可以一直处于高效并且随时能
够做出响应的状态,就像NGINX一样。这样进程就更加不会受I/O限制,因为I/O延迟不会拖垮服
务器,或者像在阻塞方式下那样占用很多资源。因此一些在服务器上曾经是重量级的操作,在
Node服务器上仍然可以是轻量级的。
node常被用来构建服务器,在node中服务器和程序是一样的。下面是一个简单的HTTP服务器实现:(http.js文件)
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});\\监听端口,被访问的时候做一些事情。
运行文件......没错!就这么实现了!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。