学习Koa

简介: 原生HTTP服务器学习过Nodejs的朋友肯定对下面这段代码非常熟悉:const http = require('http');let server = http.createServer((req, res) => { // ....回调函数,输出hello world res.end('hello world!')})server.listen(3000)就这样简单几行代码,就搭建了一个简单的服务器,服务器以回调函数的形式处理HTTP请求。

原生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接口),详情请参看文档

目录
相关文章
79 # koa 相应结果设置
79 # koa 相应结果设置
52 0
79 # koa 相应结果设置
|
前端开发 中间件
74 # koa 的基本使用
74 # koa 的基本使用
49 0
|
5月前
|
中间件 C++
|
5月前
|
JavaScript 前端开发 API
|
9月前
|
前端开发 JavaScript 中间件
koa开发实践2:为koa项目添加路由模块
koa开发实践2:为koa项目添加路由模块
184 0
|
中间件 API
|
9月前
|
开发框架 JavaScript 前端开发
Koa2 的核心特点是什么?
Koa2 的核心特点是什么?
74 0
|
9月前
|
JavaScript 前端开发 中间件
Koa2 的优缺点是什么?
Koa2 的优缺点是什么?
174 0
|
缓存 NoSQL JavaScript
|
JavaScript 前端开发 中间件
尝试理解 Koa、Redux middleware 的演进过程
最近开发 web 端,用的是 Egg node.js 框架,期间实现的一些功能例如:权限检测、操作日志上报等都是基于框架的 middleware 机制件完成的。虽然最后完成了功能,但其实对中间件真正的实现机制、运行时序还不能做到完全的理解。 Egg 是基于 Koa 实现的,Koa 的代码量非常少,加起来也就 1000 多行,涉及到中间件核心的部分,也就不到 100 行,如果有耐心可以直接读
104 0

热门文章

最新文章