搭建web服务器
//1、引入http模块
const http = require("http");
//4、 判断当前接口地址,进行url处理
const url = require("url");
//5、 将urlencode格式转换为js对象
const queryString = require('querystring');
// 2、创建一个web服务器实例,req请求功能的相关对象,res响应功能的相关对象
const server = http.createServer((req, res) => {
// url具有一个parse方法,它可以对req.url做转换,req.url就是请求地址
// get可能会携带一些参数,query代表url后面的查询参数
const { pathname, query } = url.parse(req.url) //内部返回的固定名称
if (req.method === 'GET' && pathname === '/getinfo') {
// console.log(query) // 参数为a=1&b=2,需要将urlencode格式转换为js对象
// console.log(queryString.parse(query))
res.setHeader('Content-Type', 'text/plain;charset=utf-8');
res.end('响应了get请求')
}
else if (req.method === 'POST'&& pathname==='/postinfo') {
let data = '' // 存储最终的结果,代表请求参数
req.on('data', temp => {
// temp接收到的数据
data += temp
})
req.on('end', () => {
console.log(queryString.parse(data))
res.setHeader('Content-Type', 'text/plain;charset=utf-8');
res.end('响应了POST请求')
})
}
else {
res.statusCode = 404
res.end('Not Found')
}
// req,有请求进来,要对请求进行相应的判断
// res.end(),响应内容设置
})
// 3、设置当前服务器要监听哪个端口,设一个回调函数,当监听成功以后执行响应的功能(回调函数可不写)
server.listen(8080, () => {
console.log("Server is running")
});
1、req.method,判断请求方式。
2、res.setHeader(‘Content-Type’, ‘text/plain;charset=utf-8’); 响应头设置。
3、 req.on(‘data’),每次接收的数据
4、req.on(‘end’),请求参数都接收完毕,触发end事件。
5、res.statusCode,响应状态码的设置