【笔记】Nodejs的Web服务器

前言

Nodejs通过http模块实现Web服务器

引入依赖

1
const http = require("http");

创建Web服务器对象

  • 创建Web服务器对象,启动Web服务器,并监听端口
1
2
3
http.createServer(function (request, response) {
response.end();
}).listen(8080);
1
2
3
4
5
http.createServer(function (request, response) {
response.end();
}).listen(8080, function () {
console.log("http://127.0.0.1:8080");
});
1
2
3
4
5
http.createServer(function (request, response) {
response.end();
}).listen(8080, "0.0.0.0", function () {
console.log("http://127.0.0.1:8080");
});

请求

  • request对象的本质是读取流

获取请求方法

1
const method = request.method;

获取URL

1
const urlString = request.url;

解析URL

1
2
3
const url = require("url");

const urlInfo = url.parse(request.url);

通过URL解析query

1
2
3
4
5
const url = require("url");
const queryString = require("queryString");

const urlInfo = url.parse(request.url);
const queryInfo = queryString.parse(urlInfo.query);

获取请求头

1
const value = request.headers["key"];

解析请求体

1
2
3
request.on("data", function (data) {
...
});

响应

  • response对象的本质是写入流

设置响应状态码

1
response.statusCode = 200;
1
response.writeHead(200);

设置响应头

<key>:响应头键
<value>:响应头值

1
response.setHeader("<key>", "<value>");
  • 解决响应数据的中文乱码
1
response.setHeader("Content-Type", "text/html; charset=utf-8;");

写入响应体

1
response.write("");

写入响应体并返回响应

1
response.end("");

完成

参考文献

哔哩哔哩——黑马程序员
哔哩哔哩——前端开发专业教程