Maison > Article > interface Web > Une brève discussion sur l'utilisation de Node.js pour créer un serveur HTTP simple
Cet article utilisera Node.js pour créer un simple serveur HTTP afin d'essayer de manipuler les ressources informatiques. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Qu'est-ce que le protocole HTTP ?
[Apprentissage recommandé : "tutoriel nodejs"]
Une requête de page web, qui comprend deux échanges de paquets HTTP :
Que fait le service HTTP ?
Créez un nouveau fichier http.js
et écrivez le code suivant :
// 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"); })
Commande d'exécution du terminal : node http.js
Vous pouvez voir que le service a été démarré. Ouvrez http://localhost:4000
dans Chrome :
Le contenu de response.end()
a été affiché sur la page. Un tel simple Le serveur HTTP est implémenté.
fs
Le module charge les ressources statiquesCréez un nouveau fichier index.js
:
// 加载模块 const http = require('http') const fs = require('fs'); // 创建服务 http.createServer(function (request, response) { console.log(request.url); response.writeHead(200); response.end(); }).listen(3000)
Exécution du terminal : node index.js
, ouvrez le navigateur localhost:3000
Deux requêtes sont envoyées ici, l'une est la demande de l'url actuelle http://localhost:3000/
l'autre est la demande de l'icône http://localhost:3000/favicon.ico
en haut ; coin droit :
Effectuez ensuite un traitement sur la requête /favicon.ico
et renvoyez directement le code d'état 200
puis utilisez le module fs
pour traiter 静态资源
; :
// 加载模块 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
Le contenu du fichier est le suivant :
<!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>
Fonctionnement du terminal : node index.js
Démarrer le service :
Comme vous pouvez le constater, ce serveur HTTP a mis l'ordinateur La ressource statique index.html
est donnée au navigateur.
Un serveur HTTP aussi simple qui lit les ressources statiques de l'ordinateur a été implémenté !
Ce serveur HTTP utilise deux modules intégrés de Node.js http
et fs
. Il existe de nombreux modules dans Node.js qui peuvent nous aider à réaliser des fonctions puissantes, ce qui est exactement le cas. Écosystème Node.js plus puissant.
Le code est le suivant :
https://github.com/V-vincent/node-introduction
Pour plus de connaissances liées à la programmation , veuillez visiter :Vidéo de programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!