用node构建一个小小的HTTP服务

刚开始接触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}/`);
});\\监听端口,被访问的时候做一些事情。

运行文件......没错!就这么实现了!

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值