前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原生HTTP服务器

原生HTTP服务器

原创
作者头像
用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户用户
发布2018-05-25 12:31:03
2.8K1
发布2018-05-25 12:31:03
举报
文章被收录于专栏:hihi

原生HTTP服务器

学习过Nodejs的朋友肯定对下面这段代码非常熟悉:

const http = require('http');

let server = http.createServer((req, res) => {

// ....回调函数,输出hello world

res.end('hello world!')

})

server.listen(3000)

就这样简单几行代码,就搭建了一个简单的服务器,服务器以回调函数的形式处理HTTP请求。上面这段代码还有一种更加清晰的等价形式,代码如下:

let server = new http.Server();

server.on("request", function(req, res){

// ....回调函数,输出hello world

res.end('hello world!')

});

server.listen(3000);

首先创建了一个HttpServer的实例,对该实例进行request事件监听,server在3000端口进行监听。HttpServer继承与net.Server,它使用http_parser对连接的socket对象进行解析,当解析完成http header之后,会触发request事件,body数据继续保存在流中,直到使用data事件接收数据。

req是http.IncomingMessage实例(同时实现了Readable Stream接口),详情请参看文档

res是http.ServerResponse实例(同时实现了Writable Stream接口),详情请参看文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档