Home >Web Front-end >JS Tutorial >A brief discussion on using Node.js to build a simple HTTP server
This article will use Node.js to build a simple HTTP server to try to manipulate computer resources. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.
What is the HTTP protocol?
[Recommended learning: "nodejs tutorial"]
A web page request, which contains two HTTP packet exchanges:
What does the HTTP service do?
Create a new http.js
file and write the following code:
// http 是 Node 自带的包,在这里加载引入 const http = require('http') // 通过 http.createServer 创建一个 Web 静态服务器 http.createServer(function (request, response) { // 监听到请求之后所做的操作 // request 对象包含:用户请求报文的所有内容 // 我们可以通过request对象,获取用户提交过来的数据 // response 响应对象,用来响应一些数据 // 当服务器想要向客户端响应数据的时候,就必须使用response对象 response.writeHead(200); response.end('hello world'); }).listen(4000, function () { // 通过 listen 监听端口,开启服务 console.log("服务器已经启动,可通过以下地址:http://localhost:4000"); })
Terminal running command: node http.js
You can see that the service has been started. Open it in Chromehttp://localhost:4000
:
# The content of response.end()
has been displayed on the## page, and such a simple HTTP server has been implemented.
Module loads static resources
index.js file:
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { console.log(request.url); response.writeHead(200); response.end(); }).listen(3000)Terminal Run:
node index.js, the browser opens
localhost:3000
http://localhost:3000/; the other is the request for icon
http://localhost:3000/favicon.ico in the upper right corner:
/favicon.ico and directly return the
200 status code; then pass
fsModule to process
static resources:
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { // console.log(request.url); // 如果是图标请求则直接返回 200 if (request.url == '/favicon.ico') { response.writeHead(200); response.end() return } response.writeHead(200); // fs 是文件模块,通过 createReadStream 可以读取本地文件,这里读取的是目录下的 index.html 文件 // 通过 pipe 写入响应对象 fs.createReadStream(__dirname + '/index.html').pipe(response) }).listen(3000)
index.html The content of the file is as follows:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现一个简单的HTTP服务器</title> </head> <body> <div>hello HTTP服务</div> </body> </html>Terminal operation:
node index.js Start the service:
index.html to the browser.
http and
fs. There are many other modules in Node.js that can help us achieve this. Powerful modules, it is these modules that make the Node.js ecosystem more powerful.
The code is as follows:https://github.com/V-vincent/node-introductionFor more programming related knowledge, please visit :
Programming Video! !
The above is the detailed content of A brief discussion on using Node.js to build a simple HTTP server. For more information, please follow other related articles on the PHP Chinese website!