http.createServer()方法返回的是http模块封装的一个基于事件的http服务器,

http.request,是http模块封装的http客户端工具,可以用来向http服务器发起请求。

http.Server的事件主要有:

  1. request,常用的事件,在客户端发的请求到达的时候,request事件被触发,提供了req和res两个参数,表示请求和响应信息。
  2. connection,当TCP连接建立的时候,触发该事件,提供一个socket参数,是net.Socket的实例
  3. colse,服务器关闭的时候触发。
const http = require('http');
const server = http.createServer(function (req,) {
console.log(req)
res.writeHead(200, {
'content-type': 'text/plain'
})

res.end("hello,Node.js")
})

server.listen(2130, function () {
console.log('监听端口2130')
})

然后直接运行该文件,在浏览器打开127.0.0.1:8080

效果如下图:

Node创建HTTP服务_html

请求信息

  1. data,接受请求体的数据
  2. end,请求体数据传输结束后触发
  3. colse,用户当前请求结束后触发

属性

  1. method,http请求方法
  2. headers,http请求头
  3. URL,http请求路径
  4. httpVersion,http协议的版本
const http = require('http');
const server = http.createServer(function (req,) {
let data = {
code:200,
data:{
name:'duxin',
age:18
}
};
req.on('data', function (chunk) {
data += chunk;
})
req.on('end', function () {
let method = req.method;
let url = req.url;
let headers = JSON.stringify(req.headers);
let httpVersion = req.httpVersion;
res.writeHead(200, {
'content-type': 'text/html',
"access-control-allow-origin":"*"
});
let dataHtml = `<p>data:${data}</p>`;
let methodHtml = `<p>method:${method}</p>`
let urlHtml = `<p>url:${url}</p>`
let headersHtml = `<p>headers:${headers}</p>`
let httpVerisonHtml = `<p>method:${httpVersion}</p>`
let resData = dataHtml + methodHtml + urlHtml + headersHtml + httpVerisonHtml;
res.end(resData);
});
});

server.listen(2130, function () {
console.log('监听端口2130')
})