本文仅本人自学总结,若有不当之处,欢迎指正
http模块旨在可以快速搭建一个简易的服务器用于处理客户端发出的遵循http协议的请求并可以给出响应!其结构成员如下(略有省略,详情见http模块官方文档)
具体实施如下
//引入http模块
const http = require('http')
//创建Server实例对象
const serve = http. createServer()
//让服务器监听一个端口
serve. listen(8080,function(){
console. log('serve is running')
})
//让服务监听request事件(监听请求)
serve. on('request',function(request ,response){
//设置请求头
response. writeHead(200,{'Content-Type':'text/html'})
//返回的数据内容
response.write('hello world')
//结束本次响应
response.end()
})
createServer()方法解释
http.createServer([options][, requestListener])
options:
可以指定使用的IncomingMessage对象和ServerResponse对象,(主要用于扩展原生的对象)
requestListener:
作为当request事件的监听器,
当触发request事件时,会给事件函数传入两个参数
function(request, response){}
requset是IncomingMessage类的实例对象,其包含了请求相关信息
response是Server Response的实例对象,其包含了回应请求的方法
函数最终返回http.Server类的实例
若调用时不传参数等同于
const serve = new http.Server()
我们可以使用如下写法来创建
const serve = http.createServer((request, response)=>{
response. writeHead(200,{'Content-Type':'text/html'})
response.write('hello world')
response.end()
}).listen(8080)
这样一个最简单的web服务器便搭载好了,打开浏览器访问127.0.0.1:8080便可看到hello world界面了
后面我会逐渐实现路由功能,使它可以真正处理请求,而不是对所有请求都返回相对的数据。
网友评论